Главная страница
    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.014 c
2-1133494641
dust
2005-12-02 06:37
2005.12.18
сколько память моя програ в


1-1132300332
webpauk
2005-11-18 10:52
2005.12.18
Создание компонента


14-1132910754
Pazitron_Brain
2005-11-25 12:25
2005.12.18
Что бы было...


4-1129824721
Эксперт
2005-10-20 20:12
2005.12.18
Вставить и растянуть рисунок на фон ListView


2-1133422940
xfox
2005-12-01 10:42
2005.12.18
Как создать Слайд шоу с помошью Imagelist, Image





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