首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

datatable中的数据安插到数据库的表中

2013-12-26 
datatable中的数据插入到数据库的表中已经使用npoi将excel中的数据保存到datatable中,同时也已经在数据库

datatable中的数据插入到数据库的表中
  已经使用npoi将excel中的数据保存到datatable中,同时也已经在数据库中将表建好了,那么我现在需要将datatable中数据插入到数据库的表中,请问如何实现?
[解决办法]
这个循环下就好了比如


var dt=new DataTable();
for int i=0 i<dt.rows.count i++
{
 string sql="insert into xxoo values('"+dt.rows[i][0].tostring()+"','')"
 exec(sql)
}


这是常规方法.还有一种SqlBulkCopy

http://technet.microsoft.com/zh-cn/magazine/09esk03d(VS.100).aspx
[解决办法]
引用:
Quote: 引用:

这个循环下就好了比如

var dt=new DataTable();
for int i=0 i<dt.rows.count i++
{
 string sql="insert into xxoo values('"+dt.rows[i][0].tostring()+"','')"
 exec(sql)
}


这是常规方法.还有一种SqlBulkCopy

http://technet.microsoft.com/zh-cn/magazine/09esk03d(VS.100).aspx
  你好,请问 exec(sql)sql里面的语法还是 ado.net的语法?

这是如何执行语句  ,你自己写的方法
[解决办法]
什么版本的数据库?
以Datatable为存储过程的参数,一次性传入:
http://www.cnblogs.com/insus/archive/2012/09/22/2698515.html
[解决办法]
引用:
Quote: 引用:

  已经使用npoi将excel中的数据保存到datatable中,同时也已经在数据库中将表建好了,那么我现在需要将datatable中数据插入到数据库的表中,请问如何实现?

             SqlConnection con = new SqlConnection(connectionString);//连接数据库
                con.Open();
             SqlTransaction trans = con.BeginTransaction();//事物对象 
                try
                {
                    SqlCommand com = new SqlCommand();//数据操作对象  
                    com.Connection = con;//指定连接  
                    com.Transaction = trans;//指定事物
                    string sql = "";
                    for (int ii = 1; ii < table.Rows.Count; ii++)
                    {  //对datatable循环    
                        sql = "INSERT INTO [users]([usersID],[usersName],[usersAddress],[usersBirthdate],[usersGender])values ('" + table.Rows[ii]["编号"].ToString() + "','" + table.Rows[ii]["姓名"].ToString() + "','" + table.Rows[ii]["家庭住址"].ToString() + "','" + table.Rows[ii]["生日"].ToString() + "','" + table.Rows[ii]["性别"].ToString() + "')";//某一行的数据
                        com.CommandText = sql;
                    com.ExecuteNonQuery();//执行该行   
                    }
                    trans.Commit();//如果全部执行完毕.提交
                }
                catch
                {
                    trans.Rollback();//如果有异常.回滚.  


                }  
                finally 
                {    con.Close();//关闭连接 
                }

正解。

热点排行