请大家帮我看看这句超简单update语句怎么没有效果。
conn.Open();//SqlConnection conn,已经初始化过。
SqlCommand cmd = new SqlCommand();
string updateString = "update consumer set [yonghuname] = @yonghuname where [danhao] = @danhao ";
cmd.Connection = conn;
cmd.CommandText = updateString;
cmd.Parameters.Add(new SqlParameter( "@yonghuname ", YongHuName.Text));
cmd.Parameters.Add(new SqlParameter( "@danhao ", DanHao.Text));
cmd.ExecuteNonQuery();
数据库里那行数据就是改不了,我检查了很多次,就是改不了啊
------解决方案--------------------你单步调试一下,监视一下updateString 的值,把它的值拷到查询分析器里,看报什么错!
------解决方案--------------------检查你的表名和列名是否和数据库中的一样.
------解决方案--------------------try
string updateString = "update consumer set [yonghuname] = ' "+@yonghuname+ " ' where [danhao] = ' "+@danhao+ " ' ";
------解决方案--------------------代码上看没什么问题,主要是是否正确取得了参数,断点看下两个参数的内容是否正确
------解决方案--------------------下个断点跟踪调试下。这种问题一半是粗心所致
------解决方案--------------------怎么看你的存储过程这么别扭啊
把string updateString = "update consumer set [yonghuname] = @yonghuname where [danhao] = @danhao ";
放在数据库中不好吗?
------解决方案--------------------....小問題,看看參數有沒有取到值,sql欄位有沒有寫正確...
------解决方案--------------------你这个表名也很奇怪
consumer
貌似是
customer
------解决方案--------------------有可能是字段类型问题
------解决方案--------------------单步执行好好看下.
------解决方案--------------------conn.Open();//SqlConnection conn,已经初始化过。
SqlCommand cmd = new SqlCommand();
string updateString = "update consumer set [yonghuname] = @yonghuname where [danhao] = @danhao ";
cmd.Connection = conn;
cmd.CommandText = updateString;
cmd.Parameters.Add(new SqlParameter( "@yonghuname ", YongHuName.Text));
cmd.Parameters.Add(new SqlParameter( "@danhao ", DanHao.Text));
cmd.ExecuteNonQuery();
改成如下:
conn.Open();//SqlConnection conn,已经初始化过。
SqlCommand cmd = new SqlCommand();
string updateString = "update consumer set [yonghuname] = ' "+@yonghuname+ " ' where [danhao] = ' "+@danhao+ " ' ";
cmd.Connection = conn;
cmd.CommandText = updateString;
cmd.Parameters.Add(new SqlParameter( "@yonghuname ", YongHuName.Text));
cmd.Parameters.Add(new SqlParameter( "@danhao ", DanHao.Text));
cmd.ExecuteNonQuery();
------解决方案--------------------应该不是代码的问题 看看那条数据是否存在
------解决方案--------------------每次页面刷新是执行page_load,你的数据又被显示了一次,所以你填的值是没用的,你要把数据显示写在ispostback下
------解决方案--------------------最好单步一下,看看数据库更新的过程。