Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.164 c
1-1087316859
Артем
2004-06-15 20:27
2004.07.04
Скрипт-файл ресурсов не работает


1-1087572230
alex870
2004-06-18 19:23
2004.07.04
Стили окна


14-1087462131
Andrew
2004-06-17 12:48
2004.07.04
У кого Delphi официально куплен?


3-1086604103
Марат
2004-06-07 14:28
2004.07.04
Перекрестный запрос


3-1086642535
Inkotex
2004-06-08 01:08
2004.07.04
Добавление строки в DBGrid





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