Lazarus Pascal задает значение из текстового поля

#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;