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

Вниз

Ещё вопрос   Найти похожие ветки 

 
Loco   (2002-07-19 14:49) [0]

Подскажите кто-нибудь, кто сталкивался, ещё такую штуку:
после выполнения нескольких SQL - запросов прграмма отказывается запускаться, порождается исключение типа EDBEngine.
Вобщем оно говорит, что ему памяти не хватает!
Как я понимаю, после каждого запроса стек чистить надо??? или чего???? И как это сделать, может кто сталкивался?

Спасибо заранее.


Loco: loco@userline.ru


 
kalliopiy   (2002-07-19 15:00) [1]

Раз уж я начал с тобой общаться, так надо до конца!

Все зависит от того как ты используешь TQuery. Ты ее динамически не создаешь, ну т.е. что-то типа Q1:=TQuery.Create(self)?. Или она у тебя в DesignTime заготавливается?

А лучше кусок твоего кода написать.


 
Loco   (2002-07-19 15:19) [2]

2kalliopiy ©
Спасибо за помощь, всё равно здесь, похоже, больше никто не желает со мной общаться. :))

А Query заготавливается DesignTime, но св-ва у него определяются динамически, (ну кроме Alias"а)


 
kalliopiy   (2002-07-19 15:23) [3]


> но св-ва у него определяются динамически

А что за свойства? SQL что-ли? Или что-то еще?
Если фильтруешь ее, не забывай потом фильтры снимать и т.п.

Короче, расскажи поподробнее что ты там творишь.


 
Loco   (2002-07-19 15:27) [4]

2kalliopiy ©
Ну пример:
if RadioButton2.Checked then
begin
strSum:=10000;
with DM.Query1 do begin
Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add("SELECT *");
SQL.Add("FROM "person.db; slug_inf.db"");
SQL.Add("WHERE");
SQL.Add("(CreditSum >= " +inttostr(strSum)+ ")");
SQL.Add("ORDER BY Code");
Open; // активизируем выполнение запроса
end;
if DM.Query1.RecordCount <> 0 then
DM.DSslug_inf.DataSet:=DM.Query1 // отобразить рез-т выполнения запроса
else begin
ShowMessage("В базе данных нет записей, удовлетворяющих критерию запроса.");
DM.DSperson.DataSet:=DM.person;
end;
end;


 
Val   (2002-07-19 15:36) [5]

а зачем в from указано две таблицы, если выборка из одной и никаких связей между ними не установлено?


 
Loco   (2002-07-19 15:41) [6]

2Val ©
А вот кстати, только что это дописал, связи между ними есть, а при выполнении возникает исключение: мне пытаются доказать, что эти таблицы не созданы, а почему?????


 
kalliopiy   (2002-07-19 15:42) [7]

Меня, во-первых, терзают сомнения на счет самого запроса по двум таблицамс таким непонятным условием выборки. А во-вторых, может если в запросе все в порядке, то попробуй свою Query1 закрывать перед закрытием (б-р-р :) ) всей программы.


 
Loco   (2002-07-19 15:45) [8]

2kalliopiy ©
закрывать перед закрытием
Прикольно :)))))))))))))
т.е. по FormClose выполнять Query.Close ??????


 
kalliopiy   (2002-07-19 15:53) [9]

У тебя просто плохой запрос. Такой запрос дает, строго говоря, декартово произведение двух таблиц (не стоило тебя этим мучать), которое в памяти может и становится невыносимо большим. Какая цель твоей выборки (словами, плз)?


 
Val   (2002-07-19 15:59) [10]

>Loco © (19.07.02 15:41)
связи между ними в запросе нет - не связываете вы их никак, у вас по условию запрос является только горизонтальным срезом одной таблицы.
насчет исключения- это естественно, поскольку синтаксис нарушен:
..
FROM "person.db", "slug_inf.db"
..


 
Loco   (2002-07-19 16:16) [11]

2kalliopiy ©
По поводу таблиц - это нововведение у меня, которое кстати не работает, а про память, это он мне и с одной таблицей говорил


 
Loco   (2002-07-19 16:22) [12]

2Val ©
Можно на "ты", а как связать их запросом????
Person - master table, Slug_inf - соответственно - slave,
выбираем из второй, а DBGrid, связанный с первой должен показывать только те записи, которые удовлетворяют условию
(у-у-фф), достаточно запутанно??? :))) Вот сижу и бьюсь над этим уже час


 
Val   (2002-07-19 16:35) [13]

для начала неплохо хотя бы почитать чего по SQL :)
дайте структуру таблиц и что хотите из них получить.


 
Loco   (2002-07-19 16:56) [14]

2Val ©
Ну не силён в SQL :))))
А всё таки обращайтесь ко мне на "ты"
Таблицы шлю на мыло, а получить надо значения всех полей главной таблицы, ..... блин, 5 минут думал как сформулировать, нифига не могу, понимаю, а чтобы объяснить...... ну никак.
Короче, связь таблиц должна быть как бы снизу вверх,.... ну от подчинённой(в которой делается выборка), к главной


 
Val   (2002-07-19 17:01) [15]

ок, в мыло, так в мыло :)



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

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

Наверх





Память: 0.59 MB
Время: 0.024 c
6-24163
ss18
2002-05-26 16:51
2002.08.08
Кто нибудь работал с DNS-сервером?


6-24161
Sour
2002-05-26 15:27
2002.08.08
Не все сообщения доходят!


4-24271
DeMoN-777
2002-06-02 03:31
2002.08.08
Элементы листбокса чужой программы.


1-24021
S@shka
2002-07-29 00:46
2002.08.08
Обработка события родителя в наследнике


1-24086
SuMaga
2002-07-25 12:13
2002.08.08
вот такая вот непонятная Фигня?





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