当前位置:编程学习 > C#/ASP.NET >>

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 --------------------编程问答--------------------
引用 1 楼 diaodiaop 的回复:
这个循环下就好了比如

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的语法? --------------------编程问答-------------------- .....


我就那个意思,就是执行SQL...execute什么什么的那个方法 --------------------编程问答--------------------
引用 2 楼 hexin_2 的回复:
Quote: 引用 1 楼 diaodiaop 的回复:

这个循环下就好了比如

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的语法?

这是如何执行语句  ,你自己写的方法 --------------------编程问答--------------------
引用 4 楼 z_dota 的回复:
Quote: 引用 2 楼 hexin_2 的回复:

Quote: 引用 1 楼 diaodiaop 的回复:

这个循环下就好了比如

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的语法?

这是如何执行语句  ,你自己写的方法
       这是别人写的,我估计是拼sql语句,然后执行sql。 --------------------编程问答--------------------
引用 3 楼 diaodiaop 的回复:
.....


我就那个意思,就是执行SQL...execute什么什么的那个方法
哥  能否注意语法 --------------------编程问答-------------------- 什么版本的数据库?
以Datatable为存储过程的参数,一次性传入:
http://www.cnblogs.com/insus/archive/2012/09/22/2698515.html --------------------编程问答--------------------
引用 7 楼 insus 的回复:
什么版本的数据库?
以Datatable为存储过程的参数,一次性传入:
http://www.cnblogs.com/insus/archive/2012/09/22/2698515.html
注意 datatable中已经有数据了,将datable中的数据批量插入到数据库的表中(不使用存储过程)? --------------------编程问答--------------------
引用 楼主 hexin_2 的回复:
  已经使用npoi将excel中的数据保存到datatable中,同时也已经在数据库中将表建好了,那么我现在需要将datatable中数据插入到数据库的表中,请问如何实现?


http://www.google.com.hk/search?newwindow=1&safe=strict&hl=zh-CN&q=.net+dataadapter+%E6%95%B0%E6%8D%AE%E5%BA%93&oq=.net+dataadapter+%E6%95%B0%E6%8D%AE%E5%BA%93&gs_l=serp.3...18503.21496.0.21805.3.3.0.0.0.0.0.0..0.0.ernk_timecombined...0...1.1j4.32.serp..3.0.0.im6FOlp5xtg --------------------编程问答--------------------
引用 楼主 hexin_2 的回复:
  已经使用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();//关闭连接 
                }
--------------------编程问答--------------------
引用 10 楼 hexin_2 的回复:
Quote: 引用 楼主 hexin_2 的回复:

  已经使用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();//关闭连接 
                }
正解。 --------------------编程问答--------------------
select * from tablename
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,