用DataTable更新数据库,
在Sql语句中含有参数,用DataTable的列作为参数的值,也就是SourceColumn设置为DataTable的列名,那么该怎样给这些参数设置value值?
请高手指教。
谢谢。

解决方案 »

  1.   

    p[i].Value = dsSource.Tables[0].Columns[i];
    我这样赋值行不行?
    反正系统老是提示没有实现IConvertible。
    p[i]的类型我全设置为SqlDbType.NVarChar,3000。
    请高手不吝指教。
    谢谢。
      

  2.   

    楼主的意思是什么?你的datatable如何生成的?sql又是怎么用的?
      

  3.   

    是在项目数据集里写的sql吗?
    如果是那么用的时候
    fill(参数);
      

  4.   

    string cmdText = "insert into a(a1,a2) values(@a1,@a2)";
    SqlParameter[] p = new SqlParameter[2];  
    p[0]= new SqlParameter("@a1"SqlDbType.NVarChar,3000,dsSource.Tables[0].Columns[0].ColumnName);
    p[1]= new SqlParameter("@a1"SqlDbType.NVarChar,3000,dsSource.Tables[0].Columns[0].ColumnName);
    p[0].value = dsSource.Tables[0].Columns[0]; 
    p[1].value = dsSource.Tables[0].Columns[1]; 说明:dsSource是读取Excel得到的DataSet。
    我不希望一条一条地更新数据库,所以想用DataSet中某列做为SqlParameter参数的value值。
    不知道行不行。
    请指教。
    谢谢。