Главная страница
    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.47 MB
Время: 0.029 c
1-1087539778
sav
2004-06-18 10:22
2004.07.04
Установка свойства Файлов


14-1087016392
Думкин
2004-06-12 08:59
2004.07.04
С днем рождения! 12 мая.


3-1086764520
LittleGirly
2004-06-09 11:02
2004.07.04
Как обуздать большой dbf файл


8-1081152480
SDV
2004-04-05 12:08
2004.07.04
Помещение изображения в TMemoryStream


14-1086894996
RealRascal
2004-06-10 23:16
2004.07.04
Борьба с алкоголизмом





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