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

Вниз

Несоотсетствие типов   Найти похожие ветки 

 
novi   (2004-06-15 18:08) [0]

Уважаемые мастера! У меня в этой процедуре выходит несоответствие типов. Не могли бы вы подсказать где ошибка.
procedure TForm1.Button1Click(Sender: TObject);
var  dat: TDate;
begin
 dat:= StrToDate(Edit1.Text);
 if dat<>0 then
   begin
     with Form1.Query1 do
       begin
         Close;
         SQL.Clear;
         SQL.Add("SELECT Id_Data");
         SQL.Add("FROM ":PROD:prodlist.db"");
         SQL.Add("WHERE");
         SQL.Add("(Id_Data="dat")");
         SQL.Add("ORDER BY Id_Data");
         Open;
       end;
     if Query1.RecordCount<>0 then
       DataSource1.DataSet:=Query1
       else begin
         ShowMessage("Таких данных нет.");
         DataSource1.DataSet:=Table1;
         end;
   end;
end;


 
Piter ©   (2004-06-15 18:20) [1]

а ты не мог бы подсказать на какой строчке у тебя выдается несоответствие типов?


 
Piter ©   (2004-06-15 18:20) [2]

и что вообще пишет...

блин, опять все клещами приходится вытягивать :)


 
TUser ©   (2004-06-15 18:21) [3]

Здесь

> SQL.Add("(Id_Data="dat")");


 
PVOzerski ©   (2004-06-15 18:23) [4]

А строчку с проблемой указать нельзя? Кстати, в D3 всё скомпилировалось.


 
TUser ©   (2004-06-15 18:26) [5]

Скомпилироваться-то оно скомпилируется, но он пытается Id_data сравнивать с "dat". получается несоотвествие.


 
Piter ©   (2004-06-15 18:27) [6]

TUser (15.06.04 18:21) [3]
Здесь

> SQL.Add("(Id_Data="dat")");


да нет, тут все правильно


 
Piter ©   (2004-06-15 18:30) [7]

PVOzerski (15.06.04 18:23) [4]
А строчку с проблемой указать нельзя? Кстати, в D3 всё скомпилировалось


со временем начинаешь немного телепатией увлекаться. Мне кажется проблема не в ошибке компилятора, а в том, что во время выполнения у него возникает такая ошибка... то есть, движок базы ему это выдает... хотя могу ошибаться... навыки телепатии развиты не до 100%


 
Piter ©   (2004-06-15 18:31) [8]

TUser (15.06.04 18:26) [5]
но он пытается Id_data сравнивать с "dat". получается несоотвествие


а откуда ты знаешь, что такое у него Id_data? Тоже телепатией увлекаешься ? :)


 
TUser ©   (2004-06-15 18:36) [9]

Не знаю. Просто dat у него - локальная пееременная типа TDate. Я предположил, что вряд ли ее значение пролезет в строковою константу. Хотя, мб он с "dat" и пытается сравнить ??


 
novi   (2004-06-15 19:37) [10]

Да, ошибка именно здесь SQL.Add("(Id_Data="dat")"); при выполнении появляется окно и пишет о несоответствии типов. В столбце Id_data у меня находятся даты в формате (dd.mm.yyyy).


 
panov ©   (2004-06-15 19:41) [11]

SQL.Add("(Id_Data="dat")"); - здесь все правильно.

Тоже поработаю телепатом.
Наверное, dat - переменная, в которой содержится текстовое значение даты, строки с такой датой надо выбрать в запросе.
Если так, то достаточно изменить строку так:

SQL.Add("(Id_Data="+dat+")");


 
tower   (2004-06-15 19:51) [12]

>panov ©   (15.06.04 19:41) [11]

Мне кажется нужно писать
SQL.Add("(Id_Data=""+datetostr(dat)+"")");


 
panov ©   (2004-06-15 19:55) [13]

>tower   (15.06.04 19:51) [12]

Точно, спасибо за поправку.



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
4-1085637835
Stany
2004-05-27 10:03
2004.07.04
Создавть поток в заданном процессе


1-1087838406
мозг_умер
2004-06-21 21:20
2004.07.04
Получение индекса по строке в массиве.


1-1087384147
Фагот
2004-06-16 15:09
2004.07.04
Программа-шпион


6-1083932405
Tishaishy
2004-05-07 16:20
2004.07.04
Как организовать выкачку одного файла несколькими потоками(частям


1-1087462750
MeF88
2004-06-17 12:59
2004.07.04
Преимущества property