![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL [D6, dBase, FoxPro]
Ольга © (2002-02-21 13:54:00)Помогите пожалуйста, не пойму в чем дело у меня есть запрос:
Form1.Query1.SQL.Clear;
Form1.Query1.sql.Add("SELECT * FROM "+ s + " ");
Form1.Query1.sql.Add(" WHERE N_SCH LIKE :N_SCH_Param");
(1) Form1.Query1.sql.Add(" AND Data_SCH LIKE :D_SCH_Param");
Form1.Query1.sql.Add(" AND FIRMA LIKE :FIRMA_Param");
Form1.query1.Parambyname("N_SCH_Param").AsString:=Form1.Edit1.text+"%";
(2) Form1.query1.Parambyname
("D_SCH_Param").AsDateTime:=Form1.DateTimePicker1.datetime;
Form1.query1.Parambyname("FIRMA_Param").AsString:=Form1.Edit5.text+"%";
Form1.query1.Open;
Но при его выполнении он пишет ошибку: Type mismatch in expression. Если убрать строки (1) и (2) то ошибки нет, не подскажете в чем может быть проблема?
Dok_3D (2002-02-21 15:07:00) [1]Ну да, конечно,
Query1.sql.Add(" AND Data_SCH = :D_SCH_Param");
Dok_3D (2002-02-21 15:03:00) [2]Не, ну вы что, блин, страдаете-то ?
Query1.SQL.Clear;
Query1.sql.Add("SELECT * FROM "+ s + " ");
Query1.sql.Add(" WHERE N_SCH LIKE :N_SCH_Param");
query1.Parambyname("N_SCH_Param").DataType:=ftString;
query1.Parambyname("N_SCH_Param").AsString:=Form1.Edit1.text+"%";
Query1.sql.Add(" AND Data_SCH LIKE :D_SCH_Param");
query1.Parambyname
("D_SCH_Param").DataType=ftDateTime;
query1.Parambyname
("D_SCH_Param").AsDateTime:=Form1.DateTimePicker1.datetime;
Query1.sql.Add(" AND FIRMA LIKE :FIRMA_Param");
query1.Parambyname("FIRMA_Param").DataType:=ftString;
query1.Parambyname("FIRMA_Param").AsString:=Form1.Edit5.text+"%";
query1.Open;
Пробуй !
deleon (2002-02-21 15:01:00) [3]В данном случае я-бы отказался от параметров, а формировал-бы запрос налету!
Form1.Query1.sql.Add(Format(" AND Data_SCH = ""%s""", [FormatDateTime("dd.mm.yyyy", Your_Query_Date)]));
Ольга (2002-02-21 14:56:00) [4]> Romkin
Ой прости, не увидила отличие, все работает, спасибо большое...
Romkin (2002-02-21 14:52:00) [5](1) Form1.Query1.sql.Add(" AND Data_SCH LIKE :D_SCH_Param");
(1) Form1.Query1.sql.Add(" AND Data_SCH = :D_SCH_Param");
Неужели?
Ольга (2002-02-21 14:41:00) [6]> Romkin у меня так и было
> [NIKEL] то же самое
[NIKEL] (2002-02-21 14:25:00) [7]>>(1) Form1.Query1.sql.Add(" AND Data_SCH LIKE :D_SCH_Param");
передавай не как параметр :D_SCH_Param а как строку
Form1.Query1.sql.Add(" AND Data_SCH LIKE " + somestring);
Romkin (2002-02-21 14:21:00) [8](1) Form1.Query1.sql.Add(" AND Data_SCH = :D_SCH_Param");
(2) Form1.query1.Parambyname
("D_SCH_Param").AsDateTime:=Form1.DateTimePicker1.datetime;
так и быть...
Ольга (2002-02-21 14:09:00) [9]А как же мне тогда быть?
Romkin (2002-02-21 14:07:00) [10]Form1.Query1.sql.Add(" AND Data_SCH = :D_SCH_Param"); !!
Ольга (2002-02-21 14:06:00) [11]Form1.query1.Parambyname("D_SCH_Param").Asstring:=Form1.Edit6.text+"%";
Когда пишу так - та же ошибка
Johnmen (2002-02-21 14:00:00) [12]D_SCH_Param - тип DateTime, а ты пытаешься работать как со string