多行数据提交相关

      前两天做关于数据库多行提交的问题,现把其中的一些点列出来说一下,现以多行添加为例来介绍。

      多行提交,肯定就是要使用数组,首先要把添加的多行数据更新到DataTable里,然后使用DataTable的GetChanges()函数来获得改变的行,把每一列的信息存放到定义好的数组里面去,然后通过与数据库之前的交互将多行数据循环添加到后台。

      现在结合代码具体来介绍一下。

  • 写了一行数据的时候就新建一行,并添加到DataTable里
1 DataRow row = this.is_parts.NewRow();
2 row["PARTS_NAME"] = txtName.Text;
3 row["TYPE_NAME"] = cboSpcfc.Text;
4 row["PARTS_DATE"] =dtp.Value.Date ;
5 this.is_parts.Rows.Add(row);
  • 提交多行数据的时候,建数组,生成参数
 string[] parts_name = new string[rowCount];
 for (int i = 0; i != rowCount; i++)
{
     parts_name[i] = parts_lists.Rows[i][1].ToString();
}
OracleParameter para_name = new OracleParameter("in_name", OracleDbType .Char );
para_name.Direction = ParameterDirection.Input;
para_name.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
para_name.Value = parts_name;
cmd.Parameters.Add(para_name);

然后就可以执行数据库操作了。其中有些比如参数类型不一至容易忽略的问题,一定要对照好

原文地址:https://www.cnblogs.com/ddan/p/2657337.html