Форум: "Базы";
Текущий архив: 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.48 MB
Время: 0.07 c