|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ошибка преобразования значения varchar
Добрый день.
С программированием почти не знаком. Питаюсь состряпать программку, которая будет выводить в таблицу результат sql-скрипта. Код:
var z : Byte; Form1: TForm1; a, k, n, t, dn, dk, w, an: string; procedure TForm1.GoClick(Sender: TObject); begin z:=0; if agent.Text <> '' then begin a:= 'CLIENT='+ agent.Text; z:=z+1; end; if knp.Text <> '' then begin k:= 'CHECK='+ knp.Text; z:=z+1; if z>1 then begin k:= 'and '+k; end; end; if Nomber.Text <> '' then begin n:= 'NUMBER='+ Nomber.Text; z:=z+1; if z>1 then begin n:= 'and ' +n; end; end; if dateN.Text <> '' then begin dn:= 'Date>'+ dateN.Text; z:=z+1; if z>1 then begin dn:= 'and ' +dn; end; end; if DateK.Text <> '' then begin dk:= 'Date<'+ DateK.Text; z:=z+1; if z>1 then begin dk:= 'and ' +dk; end; end; if z>0 then begin w:='where'; end; ADOQuery1.Close; ADOQuery1.SQL.Clear; adoQuery1.sql.Add('select * from OPEN where '+a +k +n +dn + dk); ADOQuery1.Open; end; В результате при выполнении, если заполнены agent.text и knp.text одновременно все проходит нормально. Если выполнять только при заполненном knp.text выскакивает: Цитата:
В чем может быть причина? |