string opSQL = "Update ReLeaveWord Set ReContent=@ReContent,ReTime=@ReTime Where ParentID=@ParentID";
OleDbConnection objConn1 = new OleDbConnection(ConnString);
OleDbCommand objComm1 = new OleDbCommand(opSQL,objConn1);
objComm1.Parameters.Add("@ParentID"  ,OleDbType.Integer,9);
objComm1.Parameters.Add("@ReContent"  ,OleDbType.VarChar,1000);
objComm1.Parameters.Add("@ReTime"  ,OleDbType.Date);

objComm1.Parameters["@ParentID"].Value = ReLword.ParentID;
objComm1.Parameters["@ReContent"].Value = ReLword.ReContent;
objComm1.Parameters["@ReTime"].Value = ReLword.ReTime;
objConn1.Open();
objComm1.ExecuteNonQuery();
objConn1.Close();===========================================
以上代码,运行时没有发生错误,但就是更新不了数据库!
ReLword.ParentID
ReLword.ReContent
ReLword.ReTime
这3个数据输出来都有值!

解决方案 »

  1.   

    看一下数据库中有没有ParentID=@ParentID的行?
      

  2.   

    objComm1.ExecuteNonQuery();的返回值是什么?
      

  3.   

    1 ACCESS数据库
    2 数据库中有ParentID自段
    3 返回0
      

  4.   

    objComm1.Parameters["@ParentID"].Value = ReLword.ParentID;
    objComm1.Parameters["@ReContent"].Value = ReLword.ReContent;
    objComm1.Parameters["@ReTime"].Value = ReLword.ReTime;问题应该就在这里!
      

  5.   


    string opSQL = "Update ReLeaveWord Set ReContent=@ReContent,ReTime=@ReTime Where ParentID=@ParentID";
    改为
    string opSQL = "Update ReLeaveWord Set ReContent=@ReContent,ReTime=@ReTime Where ParentID=" + ReLword.ParentID.ToString();这样就可以了,为什么呢?
      

  6.   

    楼上说的事,你应该用查询分析器。。这样测试SQL语句的速度会快很多。