![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несоотсетствие типов [D6, WinME]
novi © (2004-06-15 18:08:00)Уважаемые мастера! У меня в этой процедуре выходит несоответствие типов. Не могли бы вы подсказать где ошибка.
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;
panov (2004-06-15 19:55:00) [1]>tower (15.06.04 19:51) [12]
Точно, спасибо за поправку.
tower (2004-06-15 19:51:00) [2]>panov © (15.06.04 19:41) [11]
Мне кажется нужно писать
SQL.Add('(Id_Data="'+datetostr(dat)+'")');
panov (2004-06-15 19:41:00) [3]SQL.Add('(Id_Data="dat")'); - здесь все правильно.
Тоже поработаю телепатом.
Наверное, dat- переменная, в которой содержится текстовое значение даты, строки с такой датой надо выбрать в запросе.
Если так, то достаточно изменить строку так:
SQL.Add('(Id_Data='+dat+')');
novi (2004-06-15 19:37:00) [4]Да, ошибка именно здесь SQL.Add('(Id_Data="dat")'); при выполнении появляется окно и пишет о несоответствии типов. В столбце Id_data у меня находятся даты в формате (dd.mm.yyyy).
TUser (2004-06-15 18:36:00) [5]Не знаю. Просто dat у него - локальная пееременная типа TDate. Я предположил, что вряд ли ее значение пролезет в строковою константу. Хотя, мб он с "dat" и пытается сравнить ??
Piter (2004-06-15 18:31:00) [6]TUser (15.06.04 18:26) [5]
но он пытается Id_data сравнивать с "dat". получается несоотвествие
а откуда ты знаешь, что такое у него Id_data? Тоже телепатией увлекаешься ? :)
Piter (2004-06-15 18:30:00) [7]PVOzerski (15.06.04 18:23) [4]
А строчку с проблемой указать нельзя? Кстати, в D3 всё скомпилировалось
со временем начинаешь немного телепатией увлекаться. Мне кажется проблема не в ошибке компилятора, а в том, что во время выполнения у него возникает такая ошибка... то есть, движок базы ему это выдает... хотя могу ошибаться... навыки телепатии развиты не до 100%
Piter (2004-06-15 18:27:00) [8]TUser (15.06.04 18:21) [3]
Здесь
> SQL.Add('(Id_Data="dat")');
да нет, тут все правильно
TUser (2004-06-15 18:26:00) [9]Скомпилироваться-то оно скомпилируется, но он пытается Id_data сравнивать с "dat". получается несоотвествие.
PVOzerski (2004-06-15 18:23:00) [10]А строчку с проблемой указать нельзя? Кстати, в D3 всё скомпилировалось.
TUser (2004-06-15 18:21:00) [11]Здесь
> SQL.Add('(Id_Data="dat")');
Piter (2004-06-15 18:20:00) [12]а ты не мог бы подсказать на какой строчке у тебя выдается несоответствие типов?
Piter (2004-06-15 18:20:00) [13]и что вообще пишет...
блин, опять все клещами приходится вытягивать :)