在 DataTable dataTable = SystemTools.ConvertDataReaderToDataTable(reco);说值类型与列类型不匹配不能在 SaleOrderID 列中存储 <2>。所需类型是 DataRow。

 private void BindSaleOrderData(int nSaleChanceID)
    {
        ///定义获取数据的类
        salesweb.Components.SaleOrder order = new salesweb.Components.SaleOrder();
        SqlDataReader reco = order.GetSaleOrderBySaleChance(nSaleChanceID);

        ///创建DataSet数据源
        DataTable dataTable = SystemTools.ConvertDataReaderToDataTable(reco);
        DataSet dataSet = new DataSet("SaleOrder");
        dataSet.Tables.Add(dataTable);

        ///设定控件的数据源
        SaleOrderList.DataSource = dataSet;
        ///绑定控件的数据
        SaleOrderList.DataBind();
    }


SalesOrder.cs类中有

public SqlDataReader GetSaleOrderBySaleChance(int nSaleChanceID)
  {
   ///定义类SQLHelper
   SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

   ///定义保存从数据库获取的结果的DataReader
   SqlDataReader dr = null;

   ///创建访问数据库的参数   
   SqlParameter[] paramList = {
             sqlHelper.CreateInParam("@SaleChanceID",SqlDbType.Int,4,nSaleChanceID)
            };
   
   try
   {
    ///执行存储过程
    sqlHelper.RunProc("Pr_GetSaleOrderBySaleChance",paramList,out dr);
   }
   catch(Exception ex)
   {
    ///抛出执行数据库异常
    SystemError.SystemLog(ex.Message);
    throw new Exception(ex.Message,ex);
   }   

   ///返回从数据库获取的结果
   return(dr);
  }

寻求解决方法

相关文章:

  • 2022-12-23
  • 2022-01-09
  • 2021-11-03
  • 2021-11-10
  • 2021-10-18
  • 2021-12-02
  • 2021-11-08
  • 2021-10-02
猜你喜欢
  • 2022-01-07
  • 2021-05-29
  • 2021-08-20
  • 2021-05-24
  • 2021-10-01
  • 2022-01-16
  • 2021-08-30
相关资源
相似解决方案