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

Вниз

Рекурсивная функция   Найти похожие ветки 

 
Вованчик   (2004-02-24 15:52) [0]

Здравствуйте.

Написал рекурсивную функцию:

function GetSQL(var N: String): String;
var Query: TIBQuery;
Str: String;
begin
Query := TIBQuery.Create(Self);
Query.DataBaseName := Data.DB;
Query.Transaction := Data.Transaction;
Query.SQL.Text := ‘SELECT N FROM Vid_Calculation_Table’ + fos_Number_Otdel +
‘WHERE N_Vid = ’ + N;
Query.Open;
Result := ‘’;
While not Query.eof do
begin
Str := Query.FieldByName(‘N’).asString;
Result := Result + ‘ OR N_Vid = ’ + Str + GetSQL(Str);
Query.Next;
end;
Query.Close;
Query.Free;
end;

но она выдает эксепшин "не могу выполнить на закрытом датасете" на строке Query.Next, убираю
Query.Close;
Query.Free;
все работает без проблем, но тогда экземпляров может создаться очень много...

В чем может быть проблема? По идее то должен закрыться соответсвующий экземляр Query и функция продолжить работу, но все почему то не так ... Помогите разобраться ...

Спасибо.


 
jack128   (2004-02-24 16:02) [1]

не может быть..Ты же открыл куери. Это точно реальный код?? может ты случайно в рабочем коде Query.Close в цикл поставил??


 
Вованчик   (2004-02-24 16:06) [2]

может может, самый реальный код :(
> может ты случайно в рабочем коде Query.Close в цикл поставил??
если б так :)



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

Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
3-12288
AlexLine
2004-02-07 14:55
2004.03.05
DBCtrlGrid


1-12339
kamerad
2004-02-21 22:43
2004.03.05
TRichView


3-12234
Sergey Merkuriev
2004-02-09 17:53
2004.03.05
MS SQL 2000 книги или доки по русски


11-12309
BelchonokH
2003-06-10 21:02
2004.03.05
MHToolTip куда пропадают подсказки?


6-12472
S@b@k@.
2003-12-28 18:40
2004.03.05
IP адрес





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