Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: CL | DM;

Вниз

Запарка с ADOQuery.Parameters   Найти похожие ветки 

 
ZS   (2003-08-27 08:29) [0]

Текст из проги

CustomerData.ADOQuery_promeg.parameters.parambyname("maxdate").value:= strtodate(MaskEdit1.Text);// последняя дата
sql:="create view Promeg_table AS select * from table_3week where (f_date= :maxdate )";

manipulation_data.select_date(CustomerData.ADOQuery_promeg,sql,false); // Здесь Delpha выдает ошибку: объект параметра неправильно определен, противоричивая или неполная информация.//

sql:="select f_date from promeg_table where (f_date= :maxdate)";
manipulation_data.select_date (CustomerData.ADOQuery_promeg,sql,true);

manipulation_data.select_date (sender:Tobject;query:string;flag:boolean);
with (sender as TADOquery) do
begin
close;
sql.clear;
sql.Add(query);
if flag=true then open
else execsql;


 
ZS   (2003-08-27 08:58) [1]

В чем причина подскажите пжлста!!!


 
stone ©   (2003-08-27 09:39) [2]

Так ты ведь параметр не создал.


 
ZS   (2003-08-27 09:43) [3]

Создал в компаненте ADOQUEry
maxdate
datatype:ftdatetime;
Valuetype:date;


 
stone ©   (2003-08-27 09:45) [4]

в приведенном коде этого не видно


 
stud ©   (2003-08-27 09:49) [5]

может maskedit что-нибудь не то возвращает?


 
stone ©   (2003-08-27 09:55) [6]


> stud © (27.08.03 09:49)


Все он возвращает. Попробую догадаться. Параметр был создан в дизайн-тайм? Тогда при
sql.clear; - он уничтожается, а при
sql.Add(query); - в ран-тайм автоматически уже не создается, тут нужно ручками создавать или сразу составлять запрос типа:
sql:="create view Promeg_table AS select * from table_3week where f_date= " + QuotedStr(MaskEdit1.Text);


 
roottim   (2003-08-27 09:58) [7]

> Запарка с ADOQuery.Parameters
ваша функция manipulation_data.select_date (sender:Tobject;query:string;flag:boolean);
не инициализирует параметр... о чем вам и указал stone © (27.08.03 09:39) [2]


 
ZS   (2003-08-27 10:08) [8]

sql:="select f_date from promeg_table where (f_date="+QuotedStr(MaskEdit1.Text)+")";
manipulation_data.select_date (CustomerData.ADOQuery_promeg,sql,true);
здесь выдает ошибку: несоответствие типов данных в запросе и в параметре отбора.
Представление сделано, а вот выборка не получается.

А параметр создан в дизайн -тайм.


 
stud ©   (2003-08-27 10:48) [9]

тогда перед выполнением запроса нужноопмсать парамет заново.
описать его тип вроде
item[0].datatype:=ftdate
и присвоить значение


 
roottim   (2003-08-27 10:54) [10]

>ZS (27.08.03 10:08) [8]
чего вы ерундой страдайте ?, смысла в вашей вункции 0!
зачем вам TMaskEdit, воспользуйтесь TDateTimePicker (закладка Win32)
далее код
sql:="create view Promeg_table AS select * from table_3week where (f_date= :maxdate )";
CustomerData.ADOQuery_promeg.parameters.parambyname("maxdate").value:= DateTimePicker1.Date;// последняя дата
CustomerData.ADOQuery_promeg.Open;


и не создавайте себе проблем из-за никчемных функций


 
roottim   (2003-08-27 11:01) [11]

забыл!
sql:="create view Promeg_table AS select * from table_3week where (f_date= :maxdate )";
CustomerData.ADOQuery_promeg.SQL.Text := sql;
CustomerData.ADOQuery_promeg.parameters.parambyname("maxdate").value:= DateTimePicker1.Date;// последняя дата
CustomerData.ADOQuery_promeg.Open;


 
ZS   (2003-08-27 11:21) [12]

Спасибо за обсуждение.


 
Nucl ©   (2003-08-27 14:25) [13]

первое что бросилось в глаза это тип то что параметр у тебя типа
maxdate
datatype:ftdatetime;
Valuetype:date
если рулишь к mssql, то ставь varchar(10) - и все будет ок


 
ZS   (2003-08-28 16:54) [14]

Ничего не получится походу это БАГ! или лыжи не едут


 
Hooch ©   (2003-08-28 17:11) [15]

попробуй так
Sql = "Select .."
AdoQuery.Sql.Text := Sql;
AdoQuery.Parameters.Clear;
AdoQuery.Parameters.ParseSql(Sql,True);
AdoQuery.Parameters.ParamByName("Date").DataType := ftDate;
AdoQuery.Parameters.ParamByName("Date").Value := ...

и будет сказка :-) А если вместо TadoQuery TAdoDataSet использовать то там просто CommandText = Sql параметры и типы на автомате заполнятся



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

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
1-58696
Pavel Oliynik
2003-09-08 11:29
2003.09.18
ассоциативные массивы в памяти есть в Дельфи или как .. ?


14-58910
Vinter
2003-08-28 14:44
2003.09.18
Программа съедает много памяти.


7-58935
NoDoubt
2003-07-05 23:39
2003.09.18
Процессы в Win98


8-58790
Rus
2003-05-20 14:35
2003.09.18
Чтение tag ов в mp3


1-58687
Евгыш
2003-09-03 14:47
2003.09.18
Загрузка Frame из DLL