![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL-запрос
sergeyst © (2007-03-05 11:26:00)Здравствуйте.
Формирую запрос:
with IBQList do begin
Close;
with SQL do begin
Clear;
Add('select NMK_ID, NMK_NOTE, NMK_NAME from NMK_PAR');
Add('left join NMK on NMK.NMK_ID = NMK_PAR.NMK_ID');
Add( 'where ( ( NMK_PAR.PAR_ID = ' +
IntToStr( Integer( cbPar1.Items.Objects[cbPar1.ItemIndex]) ) +
') and ( NMK_PAR_VALUE = '
+ edtParValue1.Text +
') )' );
end;
Open;
Если в edtParValue введено число, то запрос выполняется нормально, а вот, если текст - unexpected end of command. Почему?
Ega23 (2007-03-05 12:59:00) [1]
> А что это?
Это своё. Но ты можешь туда что угодно дописать.
sergeyst (2007-03-05 12:04:00) [2]
> NumsOnlyS
А что это?
sergeyst (2007-03-05 11:59:00) [3]Всем спасибо.
Ega23 (2007-03-05 11:33:00) [4]
> Почему?
Апострофы надо ставить. Что-то типа
Function Valx( i:Variant;d:string=''):string;//ñòðîêîâîå çíà÷.ïåðåìåííî& #233; äëÿ SQL
begin
result:='';
try
case VarType(i) of
varEmpty,// = $0000;
varNull: result:='Null'+d;
varString: result:=''''+i+''''+d ;
varDate: begin
DateTimeToString(result,SQLDateTimeFmt,i);
result:=result+d ;
end;
varBoolean : if i then Result:='1' else Result:='0';
varDouble,
varSingle: result:=NumsOnlyS(VarToStr(i)) +d;
else result:=VarToStr(i)+d;
end;//case
except
result:='';exit;
end;
end;
Desdechado (2007-03-05 11:32:00) [5]Потому что параметры нужно использовать.
Reindeer Moss Eater (2007-03-05 11:28:00) [6]Пртому что текст не терминирован ничем