请大家帮我看看这句超简单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下
[解决办法]
最好单步一下,看看数据库更新的过程。