Показать сообщение отдельно
Старый 01.02.2006, 10:04   #8  
yd_ is offline
yd_
Участник
 
62 / 10 (1) +
Регистрация: 24.01.2005
Попробую словами: одинарные кавычки (по-англицки inverted comma, т.е. перевернутая запятая) используются в языке SQL для выделения начала и окончания текстовой строки. Когда Вы пишите 'INSERT t.dbf(int_f) VALUES (' + FORMAT (IntVar) + ')', где поле int_f имеет тип int(4), например, то значение, которое будет в скобках после values, может быть и без одинарных кавычек, т.к. это число. А вот когда переменная типа VarChar, то должны быть кавычки, т.е. 'INSERT t.dbf (char_f) VALUES ('mama')'. Теперь представим, что у нас в Navision есть переменная CharVar типа Text (4). Мы ей присваиваем
CharVar := 'mama';
и пишем
QueryText := 'INSERT t.dbf (char_f) VALUES (' + CharVar + ')';
в результате значение переменной QueryText будет
'INSERT t.dbf (char_f) VALUES (mama)', т.е. mama БЕЗ КАВЫЧЕК.
Чтобы "вставляемое" значение типа VarChar имело правильный формат, нужно написать
QueryText := 'INSERT t.dbf (char_f) VALUES (' + InvComma + CharVar + InvComma + ')';
где InvComma это TextConstant, ЗНАЧЕНИЕМ КОТОРОЙ БУДЕТ ВСЕГО ОДИН СИМВОЛ - ОДИНАРНАЯ КАВЫЧКА.