日期:2014-05-19  浏览次数:20407 次

我的替换语句怎么不能替换呢?
SqlConnection   conn   =   new   SqlConnection( "server=localhost;database=bgglxt;uid=sa;pwd= '7802456 ' ");
conn.Open();
SqlCommand   cmd   =   new   SqlCommand();
cmd.Connection   =   conn;
cmd.CommandText   =   "UPDATE   basic_plan   SET   plan_title=@plan_title,plan_content=@plan_content,plan_executer=@plan_executer,plan_executetime=@plan_executetime,plan_department=@plan_department,plan_association=@plan_association,plan_type=@plan_type   WHERE   (   plan_id=   "   +   gg   +   ") ";
                cmd.Parameters.Add( "@plan_title ",   TextBox1.Text);
                cmd.Parameters.Add( "@plan_content ",   TextBox2.Text);
                cmd.Parameters.Add( "@plan_executer ",   TextBox3.Text);
                cmd.Parameters.Add( "@plan_executetime ",   TextBox4.Text);
                cmd.Parameters.Add( "@plan_department ",   TextBox6.Text);
                cmd.Parameters.Add( "@plan_association ",   TextBox7.Text);
                cmd.Parameters.Add( "@plan_type ",   TextBox8.Text);
                cmd.ExecuteNonQuery();
替换之后怎么数据都没有变呢?

------解决方案--------------------
WHERE ( plan_id= " + gg + ") ";
条件成立吗


------解决方案--------------------
如果没有出错,可能就是没有找到相应的记录了.
------解决方案--------------------
试试下面的写法.
SqlParameters para = new SqlParameters( "@plan_title ",SqlDbType.Varchar,50);
para.value = this. TextBox1.Text;
cmd.Parameters.Add(para);

------解决方案--------------------
把你的sql语句放到查询分析器里代入值运行一下
------解决方案--------------------
把断点设置在cmd.ExecuteNonQuery();这条语句上,然后按F10后,执行完这条语句,看ExecuteNonQuery()方法返回的是什么,如果返回是是一个正数那就说明已经udpate成功了。
如果返回的是一个负数的话,那就说明不成功。如果是0,那说明一条也没有进行update,单步调试下,应该没问题的。
------解决方案--------------------
你一个一个update试试看。
------解决方案--------------------
在数据库里查了吗?
数据是否真的没有变?
------解决方案--------------------
pwd= '7802456 '改成pwd=7802456
------解决方案--------------------
楼猪,我测试了你的代码,没有发现问题。就是pwd加单引号会报错,去掉就好了。