读书人

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

发布时间: 2013-12-26 15:24:01 作者: rapoo

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();//关闭连接
}

正解。

读书人网 >asp.net

热点推荐