How to insert integer value into SQLite table at Delphi -
i trying insert integer value in sqlite table @ delphi.
in table emp usergroup_id integer , label, description string data type.
code follows:
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 emp(usergroup_id, label, description) values (gid,''' + sdescription + ''',''' + ldescription + ''' )'; sqlconnection1.executedirect(ssql); except on e: edatabaseerror showmessage('exception raised message' + e.message); end; end; it giving me error unknown column gid.
when tried fixed integer value instead of variable works:
ssql := 'insert emp(usergroup_id, label, description) values (1,''' + sdescription + ''',''' + ldescription + ''' )'; it inserts values table.
how insert integer value of gid database above query. proper format?
your gid becomes part of sql statement (hence error: unknown column gid).
need use delphi gid variable construct sql statement (just did sdescription , ldescription):
ssql := 'insert emp(usergroup_id, label, description) values (' + inttostr(gid) + ', ''' + sdescription + ''',''' + ldescription + ''' )'; if have used parameters wouldn't have such messy query/code (which subject sql injection, etc..) e.g.:
qry := tsqlquery.create(nil); // or ever tquery component use in framework try qry.sqlconnection := sqlconnection1; qry.sql.text := 'insert emp(usergroup_id, label, description) values (:usergroup_id, :label, :description)'; qry.params.parambyname('usergroup_id').value := gid; qry.params.parambyname('label').value := sdescription; qry.params.parambyname('description').value := ldescription; qry.execsql; qry.free; end;
Comments
Post a Comment