Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.09;
Скачать: CL | DM;

Вниз

Первые шаги в 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
1-28012
Alex Shulg
2002-11-28 16:24
2002.12.09
Обработка исключительной ситуации


3-27799
Stani
2002-11-22 10:55
2002.12.09
Подскажите как в DbGrid использовать стандарт. ф-цию Win.


14-28238
Anatoly Podgoretsky
2002-11-18 00:26
2002.12.09
Именинники 18 ноября


8-28153
VID
2002-06-18 23:59
2002.12.09
Одновременное воспроизведение нескольких WAV-файлов


3-27897
WD
2002-11-20 16:54
2002.12.09
Как открыть базу