Я пытаюсь вставить целое значение в мою таблицу в Delphi.
В таблице emp
usergroup_id
является целым числом и label
, description
являются строковыми типами данных.
Мой код выглядит следующим образом:Как вставить целочисленное значение в таблицу SQLite в Delphi
var
gid: Integer;
sdescription,ldescription: String;
begin
sdescription := RzEdit1.Text;
ldescription := RzMemo1.Text;
gid := Integer(RzComboBox1.Items.Objects[RzComboBox1.Items.IndexOf(gname)]);
try
SQLConnection1.Connected := true;
SQLMonitor1.Active := True;
sSql := 'INSERT INTO emp(usergroup_id, label, description) VALUES (gid,''' + sdescription + ''',''' + ldescription + ''')';
SQLConnection1.ExecuteDirect(sSql);
except
on E: EDatabaseError do
ShowMessage('Exception raised with message' + E.Message);
end;
end;
Это дает мне ошибку в Unknown column gid
.
Когда я пытался что-то подобное с фиксированным значением целого числа вместо переменной она работает:
sSql := 'INSERT INTO emp(usergroup_id, label, description) VALUES (1,''' + sdescription + ''',''' + ldescription + ''')';
Он вставляет значения в таблицу успешно.
Как вставить целочисленное значение gid
в базу данных с вышеуказанным запросом. Какой будет правильный формат?
Бонусный код и подробный ответ помог, однако получение ошибки как параметра не usergroup_id найден, то же самое остроумие h ярлык и описание. Я использую «TSQLQuery» потомок TQuery и модифицированный код следующим образом: qry.Params.ParamByName ('usergroup_id'). Значение: = gid; ' –
Как всегда, +1 для параметров;) – whosrdaddy