ds.Tables["表名"].Rows[行索引]["要修改的字段名"] = "修改值";dATAADATPER.update(ds) //出错说:“当传递具有已修改行的DATAROW集合时,更新要求有效的UPDATECOMMAND 。 
请问各位老大如何解决这个问题 ? 

解决方案 »

  1.   

    2005中没有 COMMANDBUILDER 对象 
      

  2.   

    创建一个UpdateCommand对象,然后与DataAdapter.UpdateCommand属性进行关联,
    然后就可以了。
      

  3.   

    我现在使用的是DATATABLE 对象
      

  4.   

    /// <summary>
    /// 为DataSet对象更新数据库
    /// </summary>
    /// <param name="data">DataSet对象</param>
    /// <param name="sql">操作数据库的SQL语句或者存储过程</param>
    /// <param name="commandtype">命令类型(SQL或者存储过程)</param>
    /// <param name="msg">输出信息</param>
    /// <param name="parameters">参数集合</param>
    /// <returns>是否执行成功</returns>
    public static bool UpdateData(DataSet data,string sql,CommandType commandtype,out string msg,params SqlParameter[] parameters)
    {
    SqlConnection conn = GetConnection();
    SqlCommand comm = GetCommand();
    SqlDataAdapter ada = GetDataAdapter();

    comm.Connection = conn;
    comm.CommandText = sql;
    comm.CommandType = commandtype; if(parameters != null && parameters.Length > 0)
    {
    for(int i = 0;i < parameters.Length;i++)
    comm.Parameters.Add(parameters[i]);
    } ada.UpdateCommand = comm; bool return_value = true;
    msg = "";
    try
    {
    ada.Update(data,"data");
    }
    catch(Exception ex)
    {
    if(Configuration.APP_DEBUG)
    msg = ex.Message + "<br>" + sql;
    else
    msg = ex.Message;
    return_value = false;
    }

    return return_value;
    }
      

  5.   

    DataSet 直接修改就行了吧?
    还要UPDATE??
    ds.Tables[0].Rows[0][0]=VAlue