Главная страница
    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.48 MB
Время: 0.024 c
1-28003
Yogi
2002-11-25 22:59
2002.12.09
Еще о stringgrid


14-28284
Николай Быков
2002-11-04 03:46
2002.12.09
Коды символов псевдо-графики


1-28101
Начинающий програмер
2002-11-27 16:13
2002.12.09
Интеграция в Винды


1-28123
sen
2002-11-27 16:01
2002.12.09
Сокеты в Делфи


3-27838
Леший
2002-11-20 17:25
2002.12.09
Скажите пожалуйста, как excel, перетащить данные в ibase





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский