Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Вниз

Первые шаги в SQL. HELP!!! HELP!!!HELP!!!   Найти похожие ветки 

 
stoper   (2002-11-19 21:15) [0]

Пишу как казалось бы очень простенькое приложение.Использую MYSQL. У меня есть набор данных использую Query . Я хочу курсорм стать на запись, отредактировать ее , а потом снова очутится в этом наборе на этой записи.Помогите плиз.


 
Victor_Cr   (2002-11-20 09:09) [1]

Поподробнее...


 
Reindeer Moss Eater   (2002-11-20 09:11) [2]

Если встать курсором на запись, отредактировать её, и больше ничего не делать, то как раз очутишся на этом же самом наборе данных и на этой же самой записи.


 
stoper   (2002-11-20 09:51) [3]

Я может не совсем правильно понял как это делается.
Я делаю примерно следущее: 1.select * from stat where flag=1
В гриде нахожу нужную запись. Запоминаю id записи.
2. query1.active:=false;
3. делаю изменения.
zap:="update stat set vidd=""+edit1.text+"" where id="+inttostr(id); // zap переменная тип string
query1.SQL.Add(zap);
query1.ExecSQL;
query1.SQL.Clear;
query1.SQL.Add("select * from stat where flag=1");
query1.open;
И становлюсь в начало набора естественно.
Я так понял что поиска подобного setkey или locate здесь применять нельзя.Как мне быть .Подскажите где ошибка .


 
KIR   (2002-11-20 09:57) [4]

А почему Locate нельзя?

Query1.Locate("id",MyId,[]); //MyId - тот же id, который ты использовал в свойстве SQL своего запроса первый раз.


 
Наталия   (2002-11-20 09:58) [5]

query1.locate должно работать


 
stoper   (2002-11-20 10:41) [6]

При Query1.Locate("id",MyId,[]); пишет operation not applicable


 
stoper   (2002-11-20 11:21) [7]

Помогите плиз


 
Sergey13   (2002-11-20 11:22) [8]

2stoper (20.11.02 09:51)
А че так сложно то? Что мешает прямо в гриде и исправить? Набор то получается вроде "живучий".


 
stoper   (2002-11-20 11:42) [9]

В гриде нельзя так как грид у меня рид онли, что бы случайно кто нибудь не наизменял чего нибудь


 
Anatoly Podgoretsky   (2002-11-20 11:43) [10]

stoper (20.11.02 09:51)
Вне зависимости от другого, проще если вместо одного YQuery использовать два независимых, один для SELECT а другой для UPDATE при этом их можно и динамически связать через параметр ID
Отпадет необходимосьть делать

query1.SQL.Add(zap);
query1.ExecSQL;
query1.SQL.Clear;
query1.SQL.Add("select * from stat where flag=1");

Только query1.close; query1.open;


 
Sergey13   (2002-11-20 11:48) [11]

Ну дык тогда все равно не обязательно запрос переоткрывать. По кнопке показываешь форму с DBEdit-ами нужных полей. В ней по ОК постишь или по Cancel - сответственно.

ЗЫ: Использовать один Query и для выборки и для апдейта не есть гуд, ИМХО.


 
stoper   (2002-11-20 11:54) [12]

To Anatoly Podgoretsky , я не множко не понял . Если я буду делать изменения в другом Query2 то при открытии первого я же все равно окажусь на первой записи. Или не так понял объясни плиз


 
stoper   (2002-11-20 12:15) [13]

To Sergey13 спасибо за идею.


 
stoper   (2002-11-20 21:22) [14]

Казалось бы Sergey13 подсказал, но тут у меня другая бочина. когда я редактирую в dbedite, то не могу набрать слово нужной длины. Так что я решил так как набор небольшой после selecta 20 записей пройтись по Query whilom пока не найду подходящего id.
Может всетаки кто чего посоветует.


 
Sergey13   (2002-11-21 09:30) [15]

2stoper (20.11.02 21:22)
>когда я редактирую в dbedite, то не могу набрать слово нужной длины
?????????????


 
stoper   (2002-11-22 11:37) [16]

Sergey13, у меня тип поля varchar(40), при посте у меня дбедит.текст обрезается до 20 символов.


 
3JIA9I CyKA   (2002-11-22 12:00) [17]

Если создавал Fields для своего Query - пересоздай.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.015 c
3-27800
Calm
2002-11-22 11:13
2002.12.09
Как обработать записи, возвращаемые запросом


6-28169
DemOk
2002-10-14 11:38
2002.12.09
НЭТВОТЧ !


1-27990
sniknik
2002-11-29 17:04
2002.12.09
Невидимая MDI форма.


1-27968
Сатир
2002-11-28 21:55
2002.12.09
Двумерный ImageList


1-27988
snake1977
2002-11-25 12:54
2002.12.09
Точек на символ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский