sql server ce - Update *. SDF database file using VB.NET -


i have desktop application created in visual studio , sql server compact edition 3.5. can insert record without error. problem after running update without error, there's no changes in database after.

here's update code:

dim cmd sqlcecommand         try             if con.state = connectionstate.closed con.open()             cmd = new sqlcecommand("update [meds] set [brand] =@brand,[genericname]=@genericname,[dosage]=@dosage,[form]=@form,[stockdose]=@stockdose,[supplier]=@supplier,[manufacturer]=@manufacturer,[quantity]=@quantity,[perunit1]=@perunit1,[expirydate]=@expirydate,[sellingprice]=@sellingprice [perunit2] =@perunit2", con)             cmd.parameters.add(new sqlceparameter("@brand", sqldbtype.nvarchar)).value = txtbrand.text             cmd.parameters.add(new sqlceparameter("@genericname", sqldbtype.nvarchar)).value = txtgenericname.text             cmd.parameters.add(new sqlceparameter("@dosage", sqldbtype.nvarchar)).value = txtdosage.text             cmd.parameters.add(new sqlceparameter("@form", sqldbtype.nvarchar)).value = cbform.selectedtext             cmd.parameters.add(new sqlceparameter("@stockdose", sqldbtype.nvarchar)).value = txtstockdose.text             cmd.parameters.add(new sqlceparameter("@supplier", sqldbtype.nvarchar)).value = txtsupplier.text             cmd.parameters.add(new sqlceparameter("@manufacturer", sqldbtype.nvarchar)).value = txtmanufacturer.text             cmd.parameters.add(new sqlceparameter("@quantity", sqldbtype.nvarchar)).value = txtqty.text             cmd.parameters.add(new sqlceparameter("@perunit1", sqldbtype.nvarchar)).value = cbperunit1m.selectedtext             cmd.parameters.add(new sqlceparameter("@expirydate", sqldbtype.datetime)).value = dtpexpiry.value             cmd.parameters.add(new sqlceparameter("@sellingprice", sqldbtype.nvarchar)).value = txtprice.text             cmd.parameters.add(new sqlceparameter("@perunit2", sqldbtype.nvarchar)).value = cbperunit2m.selectedtext             cmd.executenonquery()             msgbox("items updated!")             list.show()             me.close()         catch ex exception             messagebox.show(ex.message)         end try         con.close() 

try adding:

dim modified = cmd.executenonquery() if modified = 0 throw new exception("nothing updated") 

if modified value = 0 wrong clause , you're not matching records.

if modified value <> 0 update query ran , matched something. problem must values you're updating, or checking these values.


Comments