#pascal #lazarus
#pascal #lazarus
Вопрос:
Мне нужно настроить некоторые sql-запросы.
Команда, которую я хочу ввести, это INSERT INTO tblTest VALUES (1);
Вот мой код
SQLQuery1.SQL.text:=('INSERT INTO tblTest VALUES (' (enterid.text) ')' );
enterid
это мое текстовое поле, в которое я хочу ввести число или имя
Как бы я получил скобки до и после него, чтобы создать свою команду?
Комментарии:
1. Используйте
оператор для объединения. Любой учебник скажет вам об этом.
Ответ №1:
Я вижу две проблемы с вашим кодом. Весь оператор SQL заключен в квадратные скобки, что неверно (по крайней мере, это неверно в Delphi, поэтому я предполагаю, что это также неверно в Lazarus. Во-вторых, оператор ‘values’ не нуждается в квадратных скобках и может хранить буквальную строку «enterid.text».
Лучше написать так:
SQLQuery1.SQL.text:= 'INSERT INTO tblTest VALUES (:p1);
SQLQuery1.params[0].asstring:= enterid.text;
// alternatively SQLQuery1.ParamByName ('p1').asstring:= enterid.text;
SQLQuery1.execsql;