这段程序运行时,没有什么异常,但就是更新数据库不成功,程序如下:
this.conn.Open();
string sql = "update tblbooks set state = @state where bookID =@bookID";
SqlCommand cmd = new SqlCommand(sql,this.conn);
cmd.Parameters.Add("@bookID",SqlDbType.NVarChar,8);
cmd.Parameters["@bookID"].Value = e.Item.Cells[1].Text;
cmd.Parameters.Add("@state",SqlDbType.NVarChar,5);
cmd.Parameters["@state"].Value = "预借";
cmd.Open();
cmd.ExecuteNonQuery();
cmd.Close();
this.conn.Close();
记住,必须马上打开并且马上关闭才可以

解决方案 »

  1.   

    这段程序运行时,没有什么异常,但就是更新数据库不成功,程序如下:
    this.conn.Open();
    string sql = "update tblbooks set state = @state where bookID =@bookID";
    SqlCommand cmd = new SqlCommand(sql,this.conn);
    cmd.Parameters.Add("@bookID",SqlDbType.NVarChar,8);
    cmd.Parameters["@bookID"].Value = e.Item.Cells[1].Text;
    cmd.Parameters.Add("@state",SqlDbType.NVarChar,5);
    cmd.Parameters["@state"].Value = "预借";
    cmd..Connection.Open();
    cmd.ExecuteNonQuery();
    cmd..Connection.Open();
    this.conn.Close();
    记住,必须马上打开并且马上关闭才可以Sorry,上面的写错了
      

  2.   

    报的什么错误贴出来,如果是系统错误那时sqlServer端的问题,如果是编译器错误就应该好解决了
      

  3.   

    TO  cnming 你给的提示不通过,上面的连接已经打开,cmd.Connection.Open();再打开是通不过的。
    各们高手,帮帮忙啊,天日就要交差了。
      

  4.   

    第一,你的参数可能有问题,尤其检查一下bookid
    第二,还是参数问题,仔细查一下。
    如果sql有任何问题都会抱错的!
      

  5.   

    把参数在运行的时候,messagebox出来在sql里运行看看对不对~!
    如果不对,说明你写错了!
      

  6.   

    try catch 把错误打出来。写程序一定要有这个