你确定就是这句话错误吗?把"zd"的引号去掉试试,你的zd应该是数据库连接变量吧?

解决方案 »

  1.   

    没有报错吗?或者报的什么错?
    你用的存贮过程,那么应该是自己生成UpdateCommand的,那么请注意检查参数集的定义是否正确,你最好把你的代码贴出来。
      

  2.   

    给你一段我的代码
    /// <summary>
    /// 把改动后的数据集保存到数据库
    /// </summary>
    /// <param name="pDataSet">需要保存的数据集对应的数据库部分的查询代码</param>
    /// <param name="pDataSet">需要保存的数据集</param>
    /// <param name="tableName">数据集表名</param>
    /// <returns>操作状态</returns>
    public int DBSetDataSetToDataSource(string strSqlIn,DataSet pDataSet,string tableName)
    { if(pDataSet.Tables.Count<=0)
    {
    return 0;
    }

    System.Data.SqlClient.SqlDataAdapter pAdp=new SqlDataAdapter(strSqlIn,conn);
    System.Data.DataSet pTmpDataSet=new DataSet(); try
    {
    System.Data.SqlClient.SqlCommandBuilder pSqlComBuilder=new SqlCommandBuilder(pAdp);
    //pSqlComBuilder.QuotePrefix="[";
    //pSqlComBuilder.QuotePrefix="]"; pAdp.Fill(pTmpDataSet,tableName);
    //pTmpDataSet.AcceptChanges();
    pTmpDataSet=pDataSet;
    //pTmpDataSet.AcceptChanges();
    pAdp.Update(pTmpDataSet,tableName);
    }
    catch
    {
    return errordiffnum + 23;
    }
    return 0;
    }
      

  3.   

    private  System.Data.SqlClient.SqlDataAdapter adaZd=new SqlDataAdapter(); 
    SqlCommand cmdUp=new SqlCommand();
    cmdUp.CommandText="YW_UpdateZdMain";
    cmdUp.CommandType=CommandType.StoredProcedure;
    cmdUp.Connection=DataAccessOrder.cn;

    cmdUp.Parameters.Add("@strXT",SqlDbType.VarChar,50,"XT");
    cmdUp.Parameters.Add("@strXX",SqlDbType.VarChar,200,"XX");
    cmdUp.Parameters.Add("@strBZ1",SqlDbType.VarChar,300,"BZ1");
    cmdUp.Parameters.Add("@strBZ2",SqlDbType.VarChar,300,"BZ2");
    cmdUp.Parameters.Add("@strBZ3",SqlDbType.VarChar,300,"BZ3");
    cmdUp.Parameters.Add("@strBZ4",SqlDbType.VarChar,300,"BZ4");
    cmdUp.Parameters.Add("@strZH",SqlDbType.Char,9,"ZH");
    adaZd.UpdateCommand=cmdUp;adaZd.Update(ds,"ZD");  //ds为数据集,原语句为:zd                             adaZd.SelectCommand=cmd;
    adaZd.Fill(ds,"Zd");    
    我现在用上面的语句没有反应
    ?
      

  4.   

    关键是这一句
    System.Data.SqlClient.SqlCommandBuilder pSqlComBuilder=new SqlCommandBuilder(pAdp);
      

  5.   

    数据库提交更新的问题,用sqlCommandBuider就可以了,如果用vs工具生成DataAdapter就不用sqlcommandbuider了,手写就要了,或者你自己写更新逻辑。