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

Вниз

Проблема с ADODataSet   Найти похожие ветки 

 
Yakudza ©   (2004-08-28 13:03) [0]

Подскажите в чем может быть проблеме, когда dset.Close; закрываеться MainDataSet !

procedure MainDataSetAfterScroll(DataSet: TDataSet);
var
 dset : TADODataSet;
begin
 if dset = nil then
 begin
   dset.Create(self);
 end;

 dset.Close;
 dset.CommandType := cmdText;
 dset.CommandText := "SELECT id FROM table WHERE eid = :ID";
 dset.Parameters.Items[0].Value := MainDataSet.FieldByName("id").AsInteger;
 try
   dset.Open;
 except
   //
 end;
end;


 
Nikolay M. ©   (2004-08-28 13:08) [1]


>  if dset = nil then
>  begin
>    dset.Create(self);
>  end;

Ты хоть понял сам, что тут написал? Или специально моделируешь непредсказуемое поведение программы и AV?


 
Yakudza ©   (2004-08-28 13:14) [2]

Обьясни.


 
Nikolay M. ©   (2004-08-28 13:21) [3]


>  if dset = nil then
>  begin
>    dset.Create(self);
>  end;

Тебе не кажется, что это аналогично следующему:

if dset = nil then
 nil.Create(self);

?


 
Yakudza ©   (2004-08-28 13:32) [4]

А как проверить создали уже обьект или нет ?


 
Yakudza ©   (2004-08-28 13:33) [5]

Вот что еще не понятно если делать dset.Create(self); то ругаеться что MainDataSet уже есть но почему не ругаеться что dset уже есть ?


 
Yakudza ©   (2004-08-29 01:43) [6]

Кто-нибуть обьясните где непонятка, а то так и помру неучем.


 
DiamondShark ©   (2004-08-29 10:47) [7]

Давай так. Ты забываешь про весь свой код и описываешь ПО-РУССКИ чего ты хочешь получить.


 
KSergey ©   (2004-08-29 12:52) [8]

Вообще-то, [7] DiamondShark как всегда прав, однако чтобы больше такого не писать  - настоятельно советую прочитать
http://www.delphikingdom.com/helloworld/runtime_comp.htm


 
Yakudza ©   (2004-08-30 00:21) [9]

Хочу сделать следующее:
В событии AfterScroll "главного" датасета (dsMain : TADODataSet) хочу, при некоторых условиях, создать, если еще не сорздан еще один датасет, сделать запрос, показать его и т.д.


 
sniknik ©   (2004-08-30 08:38) [10]

> при некоторых условиях, создать, если еще не сорздан еще один датасет, сделать запрос, показать его и т.д.
dset у тебя локальная переменная она в любом случае не создана. (есть конечно оговорка, раз уж это не просто переменная а рекордсет, он еще к колекции конекта прописывается, но переменная то тут не причем так проверять нельзя нужно в той колекции и искать)

а делается это обычно так
dset:= TADODataSet.Create(self);
try
 //код,... показать его и т.д.
finally
 dset.free;
end
(если нужно оставить рекордсет после процедуры то уж не делай его локальным)



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

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

Наверх




Память: 0.47 MB
Время: 0.032 c
8-1088624004
Gorilka
2004-06-30 23:33
2004.09.26
Из *.mid в *.mp3 или *.cda


14-1094475422
lipskiy
2004-09-06 16:57
2004.09.26
Хотелось бы узнать прочность защиты данных. Взломайте?


1-1094609976
массив
2004-09-08 06:19
2004.09.26
Как грузить в TMemo и TRichEdit файл в Unicode ?


4-1092213118
TPotokShell
2004-08-11 12:31
2004.09.26
Как отличить поток ?


4-1092655227
Valera
2004-08-16 15:20
2004.09.26
Помогите с защитой CD от копирования





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