database - Insert query into Access C# -


i'm working access data base, have users table.

i have insert query :

database.execute("insert users(userid,firstname,secondname,username,password,permission) values(" +     obj.personid +     ",'" + obj.firstname +     "','" + obj.lastname +     "','" + username +     "','" + psw +     "'," + permission + ")"); 

i checked parameters' values same table's ones... says there syntax error in insert query.

parameters, parameters, parameters. first benefit code, forget single quotes. second, avoid dreaded sql injection vulnerability. third, code easier read. consider this:

string insertquery = "insert table (field1, field2, field3) values (@par1, @par2, @par3)"; database.execute(insertquery, var1, var2, var3); 

where var1, var2 , var3 variables containing values need insert.

there's simpler (but worse, because it's still vulnerable sql injection) solution, make code more readable example you've posted: string.format. instead of this:

database.execute("insert users(userid,firstname,secondname,username,password,permission) values(" + obj.personid + ",'" + obj.firstname + "','" + obj.lastname + "','" + username + "','" + psw + "'," + permission + ")"); 

you this, clearer , more difficult forgot simple quotes:

string query = string.format("insert users (userid,firstname,secondname,username,password,permission) values({0}, '{1}', '{2}', '{3}', '{4}', {5})", obj.personid, obj.firstname, obj.lastname, username, psw, permission); database.execute(query); 

consider brief example of usage of parameters insertion: http://msdn.microsoft.com/en-us/library/webmatrix.data.database.execute(v=vs.111).aspx


Comments

Popular posts from this blog

Delphi XE2 Indy10 udp client-server interchange using SendBuffer-ReceiveBuffer -

Qt ActiveX WMI QAxBase::dynamicCallHelper: ItemIndex(int): No such property in -

Enable autocomplete or intellisense in Atom editor for PHP -