批量录入一个DateTable的值到一个数据库表

修改密码:
alter user  hr identified by hr123;
解锁用户:
alter user hr account unlock;


select table_name from tabs;

describe tabalename;
 

批量录入一个DateTable的值到一个数据库表。


            OracleConnection con = new OracleConnection(constr);
            con.Open();

            String sql = "select * from mybook ";
            OracleDataAdapter adapter = new OracleDataAdapter(sql, con);
            DataTable oraTable = new DataTable();
            adapter.Fill(oraTable);

            int columns = oraTable.Columns.Count;
            String typestr = "";
            for (int i = 0; i < columns; ++i)
            {
                typestr += oraTable.Columns[i].ColumnName + ":" + oraTable.Columns[i].DataType.ToString() + "\r\n";

                if (oraTable.Columns[i].DataType == typeof(System.DateTime))
                {
                    System.DateTime time = (System.DateTime)oraTable.Rows[1][i];
                    String s = "" + time.Year + "-" + time.Month;

                    if (oraTable.Rows[0][i] == DBNull.Value)
                    {
                        s = "null";
                    }
                }
            }
            // insert values

            sql = "INSERT INTO mybook(NAME,STARTTIME,COUNT,TOTAL) VALUES (:name,:starttime,:count,:total)";


            OracleCommand cmd = new OracleCommand();

            object[] namearray = new object[table.Rows.Count];
            object[] starttimearray = new object[table.Rows.Count];
            object[] countarray = new object[table.Rows.Count];
            object[] totalarray = new object[table.Rows.Count];

            for (int i = 0; i < table.Rows.Count; ++i)
            {
                namearray[i] = table.Rows[i][0];
                starttimearray[i] = table.Rows[i][1];
                countarray[i] = table.Rows[i][2];
                totalarray[i] = table.Rows[i][3];
            }

            
            // int[] myArrayDeptNo = new int[3]{ 10,20,30};

            // Set the command text on an OracleCommand object
            cmd.CommandText = sql;
            cmd.Connection = con;

            // Set the ArrayBindCount to indicate the number of values
            cmd.ArrayBindCount = 2;

            // Create a parameter for the array operations
            OracleParameter namepar = new OracleParameter("name", OracleDbType.Varchar2);
            namepar.Direction = ParameterDirection.Input;
            namepar.Value = namearray;
            cmd.Parameters.Add(namepar);

            OracleParameter starttimepar = new OracleParameter("starttime", OracleDbType.Date);
            starttimepar.Direction = ParameterDirection.Input;
            starttimepar.Value = starttimearray;
            cmd.Parameters.Add(starttimepar);

            OracleParameter countpar = new OracleParameter("count", OracleDbType.Decimal);
            countpar.Direction = ParameterDirection.Input;
            countpar.Value = countarray;
            cmd.Parameters.Add(countpar);

            OracleParameter totalpar = new OracleParameter("total", OracleDbType.Decimal);
            totalpar.Direction = ParameterDirection.Input;
            totalpar.Value = totalarray;
            cmd.Parameters.Add(totalpar);

            // Execute the command
            int affectedrows = cmd.ExecuteNonQuery();
            con.Close();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值