asp.net - Adding to a sql integer column using C# -


i trying update sql table c# backend, never executes; mainservicebutton pre-existing value in linkname column. here have far:

conn.open();        string qry = "update clickstream set clickcount = (clickcount + 1) linkname = mainservicebutton";        sqlcommand cmd = new sqlcommand(qry, conn);        try        {            cmd.executescalar();        }        catch        {            messagebox.show("not executed");        }         conn.close(); 

this how table created:

create table clickstream( click_id int identity(1,1), linkname nvarchar(50) not null, clickcount int, primary key(click_id)); 

the desired result increase clickcount 1 every time link(linkname) clicked on. suggestions?

messagebox.show("not executed"); not going except obscure details of error: need instead output details of caught exception understand happened.

addressing , other suggestions made in comments...

  • mainservicebutton nakedly inline in sql text not possibly being want
  • a sqlparameter being warranted accept value where sanely
  • executenonquery() instead of executescalar() being right call

..., see sort of mileage instead:

conn.open(); string qry = "update clickstream set clickcount = (clickcount + 1) linkname = @linkname"; sqlcommand cmd = new sqlcommand(qry, conn); // use sqlparameter correct error in posted code , safely. cmd.parameters.add(new sqlparameter("@linkname", "mainservicebutton")); try {     cmd.executenonquery(); // not executescalar() } catch (sqlexception sex) {     // output exception message , stack trace.     messagebox.show(sex.tostring()); } conn.close(); 

Comments