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

Наверх




Память: 0.47 MB
Время: 0.008 c
1-58640
kdy
2003-09-05 11:22
2003.09.18
Как сделать чтоб отладчик не заходил в некоторые функции


1-58769
BustaBoss
2003-09-06 00:53
2003.09.18
Как скрыть свою программу из списка процессов в Win XP


7-58936
fan
2003-07-05 22:36
2003.09.18
Перехват события печати на принтере.


6-58819
Delpher_Gray
2003-07-14 22:43
2003.09.18
SendBuf, ReveiveBuf и RECORD...


3-58563
zorik
2003-08-27 13:50
2003.09.18
сайт по IB





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