日期:2014-05-18  浏览次数:20779 次

textbox绑定并更新sql数据库
我的代码如下:  
 string sql = "update UserTable set UserID='" + txtID.Text.ToString() + "',UserName='" + txtName.Text + "',USex='" + txtSex.Text + "',UBirthday='" + txtBIr.Text.ToString() + "',DepartID='" + txtDepa.Text.ToString() + "',photo='"+phototext+"'";
   
SqlConnection con = new SqlConnection(DBHelper.constr);
con.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
da.Fill(ds, "GoodTable");
SqlCommandBuilder builder = new SqlCommandBuilder(da);
con.Close();
DBHelper.ExecuteNonQuery(sql)
提示不能重复插入,usertable设置了主键
应该怎么解决。才能更新

------解决方案--------------------
他们说的都没说到关键上,你没发现你的sql没设条件吗,这样是全部更新啊亲,如果userID是主键,就这么写:string sql = "update UserTable set UserName='" + txtName.Text + "',USex='" + txtSex.Text + "',UBirthday='" + txtBIr.Text.ToString() + "',DepartID='" + txtDepa.Text.ToString() + "',photo='"+phototext+"' where UserID='" + txtID.Text.ToString() + "'"; 你这样写会把所有的改成一样的记录,然后有主键,当然会提示这个了。

------解决方案--------------------
你的sql语句Upeate更新怎么没有where条件呢?
------解决方案--------------------
你这句话如果顺利执行会更新所有的行,加个where 先吧