Форум: "Базы";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
ВнизUnknown type параметра. Найти похожие ветки
← →
ViktorZ © (2006-02-23 10:19) [0]Главное когда запрос был проще все работало.
var vsego,ost : integer;
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text:="SELECT SUM(M.Price),SUM(AR.qnt*AR.RealPrice) FROM Menu M "+
" LEFT OUTER JOIN ARCheck AR on AR.Sifr=M.Sifr"+
" LEFT OUTER JOIN ADCheck AD on AD.Sys_Num=AR.Sys_Num"+
" LEFT OUTER JOIN acheck A on A.Sys_Num=AD.Sys_Num WHERE"+
" M.Categ = 15 AND A.LogicDate BETWEEN :D1 AND :D2 AND A.Sys_Num=AD.Sys_Num AND AD.Sifr =15 ";
Query1.open;
Query1.Params[0].AsDate:= strtodate(Edit1.text);
Query1.Params[1] .AsDAte :=strtodate(Edit2.text);
//Query1.Params[2].AsInteger := strtoint( Edit3.text);
ost:=Query1.Fields[0].AsInteger;
vsego:=Query1.Fields[1].AsInteger;
Form1.Caption :=inttostr(vsego-ost);
with message "Query1: Field "Date1" is of an unknown type".
Вроде и параметры использую и даже указал их тип. Как решить. В инете полно таких тем, но делая то что там написано не помогает. Когда запрос был просще работало, а щас нет.
← →
msguns © (2006-02-23 10:44) [1]Query1.SQL.Clear; - лишнее
Синтаксис Джоинов: .. JOIN <TableName> ON (<Условия>)
Если в конструкции WHERE более одного условия, то каждое заключается в скобки:
WHERE (M.Categ = 15) AND (A.LogicDate BETWEEN :D1 AND :D2) AND ..
Справка Delphi->Help->Local SQL->DML
← →
ViktorZ © (2006-02-23 10:45) [2]Ок. Спасибо
← →
msguns © (2006-02-23 10:46) [3]Да, совсем забыл..
Open должен быть после всех Params[..].AsXXX := ...
← →
ViktorZ © (2006-02-23 10:48) [4]ОО. то то я думаю не канает.
← →
msguns © (2006-02-23 10:51) [5]Еще рекомендация:
Перед Open в подобных случаях (динамически изменяемый/создаваемый запрос) рекомендуется ставить Prepare.
В случае парадокса вещь в общем-то "лишняя", но тем не менее приучает к профессиональной манере программирования интерфейса с СУБД.
Если придется когда-нибудь работать с клиент-серверными делами подобная "предосторожность" сослужит добрую службу, упростив и ускорив поиски багов при отладке клиентских запросов.
← →
msguns © (2006-02-23 10:58) [6]И последнее :
При работу с БД старайтесь все обращения вовне (а Ваша программа обращается к услугам "сторонней" "фирмы" - BDE) писать в защищенные блоки.
В противном случае установленная на комп с криво поставленным или вовсе без BDE, Ваша программа будет "ругаться" на клиента "по-иностранному". Да еще и покажет пустые гриды или что-там у Вас служит для отображения. И будет работать как ни в чем ни бывало.
Это - тоже признак профессионализма
;))
← →
ViktorZ © (2006-02-23 16:48) [7]
> При работу с БД старайтесь все обращения вовне (а Ваша программа
> обращается к услугам "сторонней" "фирмы" - BDE) писать в
> защищенные блоки
Можно по пожробнее об этом. А то я хочу чтоб моя прога меньше всего зависела от машины. Чот нужно чтоб она на всех пахала так как у меня.
← →
msguns © (2006-02-23 17:19) [8]try..except+F1
try..finally+F1
Инсталляция БДЕ с сайта Борланда на каждую РС
← →
ViktorZ © (2006-02-23 18:13) [9]Ok. Спасиюо. Даже не думал, что начиная с простых запросов узнаю столько нового. Особенно спасибо спасибо сайту и модераторам. за помощь. Обязательно размещу вас у ся на сайте.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c