Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо