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

Вниз

DBGridEh - как после update записи вернутся на нее же   Найти похожие ветки 

 
Explorer   (2005-11-01 11:49) [0]

Мастера!
На одной форме есть DBGrid и пытаюсь отредактировать одну из записей, вызвав другую форму, потом хочу вернутся на предыдущую форму с обновленными данными в DBGride  на эту же запись.
Подскажите, как реализовать данный сабж?


 
msguns ©   (2005-11-01 11:57) [1]

Перед перечиткой запоминать ID текущей записи (не букмарку !!!), после переоткрытия делать Locate:

Procedure TForm1.ReOpenGridData(Grid: TDBGrid);
begin
 With Grid.dataSource.DataSet do
   begin
    DisableControls;
    Tag := 0;
    if RecordCount>0 then
       Tag := Fields[0].AsInteger;        // Запомнить в тэге ID тек.записи
    Close;
    Open;
    Locate(Fields[0].FieldName,Tag,[]);    //  Установка в "старую" запись
    Tag := 0;                               // Сбросить ID
    EnableControls;
  end;
end;


 
Ega23 ©   (2005-11-01 11:57) [2]

Спозиционировать набор данных, на который смотрит твой грид, на нужную тебе запись.
Делается это с помощью метода Locate


 
Sergey13 ©   (2005-11-01 12:09) [3]

А зачем при апдейте уходить с нужной записи? Можно и без этого обойтись, если работать через датасет.


 
Explorer   (2005-11-01 12:56) [4]

>Sergey13
а по подробней?
работаю через AODDataSet


 
Sergey13 ©   (2005-11-01 13:01) [5]

2[4] Explorer   (01.11.05 12:56)
>а по подробней?
А чего подробнее то? Там (в АДО) нет что-ли Edit, Post?


 
Explorer   (2005-11-01 13:02) [6]

Точнее будет все же так :
DBGrid - через ADODATASET, а update делаю через ADOComand- вызов хранимой процедуры.

В гриде данные меняются, только сразу вываливается EOleException
"Не удается найти строку для обновления.Некоторые значения могут быть изменены со времени последнего чтения"


 
msguns ©   (2005-11-01 13:15) [7]

>Explorer   (01.11.05 13:02) [6]

Делай как в [1], а Сергея не слухай.. 13-й он :)))


 
Sergey13 ©   (2005-11-01 13:17) [8]

2[6] Explorer   (01.11.05 13:02)
Я с АДО не работал, но наверное и там можно сделать
Edit;
FieldByName("aaa").Value:="bla-bla";
Post;
Не так разве?

2[7] msguns ©   (01.11.05 13:15)
Папарашу без инсинуаций!!! 8-)


 
msguns ©   (2005-11-01 13:23) [9]

>Sergey13 ©   (01.11.05 13:17) [8]
>Папарашу без инсинуаций!!! 8-)

Иди учи бухгалтерию, двоешик ;))

Сори за офтоп


 
Sergey13 ©   (2005-11-01 13:28) [10]

2[9] msguns ©   (01.11.05 13:23)
>Иди учи бухгалтерию, двоешик ;))
Пачиму двоешник? Я хорошист! Но в другой области (в Ивановской). И в бухгалтерии я не двоешник, а самообразованец. 8-)

>Сори за офтоп
Присоединяюсь к сори.

2Explorer   (01.11.05 11:49)
А если серьезно, то не зачем перечитывать много раз то что у тебя уже есть. Это я к работе через датасет. Но кодом помочь не могу, ибо с АДО и мускулом не работал.


 
Ega23 ©   (2005-11-01 13:30) [11]


> Sergey13 ©   (01.11.05 13:28) [10]


ИМХО, твой путь - порочен. Я бы так не стал делать.
Впрочем, мы с тобой, помнится, уже неоднократно на эту тему спорили...   :о)


 
Sergey13 ©   (2005-11-01 13:32) [12]

2 [11] Ega23 ©   (01.11.05 13:30)
>ИМХО, твой путь - порочен. Я бы так не стал делать.
ИМХО, наоборот. Я делал так же как и ты, но одумался? 8-)



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

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

Наверх





Память: 0.47 MB
Время: 0.015 c
14-1132826684
Аноним
2005-11-24 13:04
2005.12.18
Депресняк или здравый смысл?


2-1133285271
STRINGGRID
2005-11-29 20:27
2005.12.18
TABLICA STRINGGRID


14-1133177205
Труп Васи Доброго
2005-11-28 14:26
2005.12.18
FB SQL проблема с изменением данных


2-1133173184
NILLO
2005-11-28 13:19
2005.12.18
SQL запрос


2-1133301449
Aleks
2005-11-30 00:57
2005.12.18
Подскажите мастера, как получить код символа





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