SqlParameter[] parameters = {
                new SqlParameter("@hName", SqlDbType.NVarChar, 50),
                new SqlParameter("@hID", SqlDbType.Int,4)
        };       parameters[0].Value = e.Node.Text;
        parameters[1].Value = Int32.Parse(e.Node.Value);        String sql1 = "update ut_House set hName = @hName where hId = @hID";
        SqlHelper.ExecuteNonQuery(DBConnectionString.ConnectionString, CommandType.Text, sql1, parameters);
这个代码为什么不能执行更新, 错误在那里?

解决方案 »

  1.   

     String sql1 = "update ut_House set hName = @hName where hId = @hID";
    不能这样赋值
      

  2.   

    调试看看 e.Node.Text   e.Node.Value 都是什么值
      

  3.   

    e.Node.Text e.Node.Value 都很正确.
    String sql1 = "update ut_House set hName = @hName where hId = @hID";
    不能这样赋值 
     
    那应该怎么赋值?
      

  4.   

    对的.你的值应该都没赋值进去.所以更新不了
    把这一句注释掉
    //SqlHelper.ExecuteNonQuery(DBConnectionString.ConnectionString, CommandType.Text, sql1, parameters);
    然后写
    SqlCommand cmd=new (sql1,DBConnectionString.ConnectionString);
    cmd.Parameters.Add("@hId", SqlDbType.Int).Value = Int32.Parse(e.Node.Value);
    cmd.Parameters.Add("@hName", SqlDbType.NVarChar).Value = e.Node.Text;
    //打开数据库链接省略
    int result=cmd.ExecuteNonQuery();
    看看result是否大于0,如果是就更新了
      

  5.   

    你把 Text Value 的值 放到 update ut_House set hName = @hName where hId = @hID 语句里
    去数据库里执行 看看
      

  6.   

    直接String sql1 = "update ut_House set hName = '1234' where hId = 1";
      SqlHelper.ExecuteNonQuery(DBConnectionString.ConnectionString, CommandType.Text, sql1, parameters);
    这个可以执行.
      

  7.   

    代码就是这么写的吧,应该是ut_House表里找不到hid为e.Node.Value的记录,楼主可以去数据库查查看。
      

  8.   

    Declare @hName varchar(50)
    Declare @hID INTSET @hName = '1234'
    SET @hID = 63 update ut_House set hName = @hName where hId = @hID这个也可以运行,555
      

  9.   

    我输出 SqlHelper.ExecuteNonQuery(DBConnectionString.ConnectionString, CommandType.Text, sql1, parameters);的值,也为1为什么数据库端却没有任何改变
      

  10.   

    update 表 set 列名='"+txtname+"' where id="+id+";
      

  11.   

    你把 e.Node.Text  和 e.Node.Value 换成你要替换的值 可以么
      

  12.   

    你把 e.Node.Text 和 e.Node.Value 换成你要替换的值 可以但是单独输出 e.Node.Text  和 e.Node.Value  的值是正常的.
      

  13.   

    你这问题很诡异。。 Text和Value 肯定有哪弄错了  再调试调试把  老兄~
      

  14.   

    用 sql server profiler跟踪一下看看,那个sql确实被成功执行了吗