Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];
ВнизЗапарка с 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
если рулишь к mssql, то ставь varchar(10) - и все будет ок
datatype:ftdatetime;
Valuetype:date
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c