已知DataSet,使用什么方法插入到数据库?

小可同学 2014-01-10 12:03:08
如题,我通过WebService获取到一份dataset,因为数据库字段有75个字段,不想一个个的拼接语句,
有没有什么其他方法可以把dataset插入到指定数据库中,并给出写法,测试通过,结贴给分。
...全文
201 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
junlinfushi 2014-01-11
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
也 可以这样 bulkCopy.ColumnMappings.Add(1,1)
  • 打赏
  • 举报
回复
private static void DataTableToSQLServer( DataTable dt)  
{  
    string connectionString = GetConnectionString();  
  
    using (SqlConnection destinationConnection =new SqlConnection(connectionString))  
    {  
        destinationConnection.Open();  
  
        using (SqlBulkCopy bulkCopy =new SqlBulkCopy(destinationConnection))  
        {  
  
  
            try  
            {  
  
                bulkCopy.DestinationTableName = "T_EIInformation";//要插入的表的表明   
                bulkCopy.ColumnMappings.Add("Email", "Email");//映射字段名 DataTable列名 ,数据库 对应的列名   
                bulkCopy.ColumnMappings.Add("author", "author");  
                bulkCopy.ColumnMappings.Add("Title", "Title");  
                bulkCopy.ColumnMappings.Add("Type", "Type");  
                bulkCopy.ColumnMappings.Add("confName", "confName");  
                bulkCopy.ColumnMappings.Add("Language", "Language");  
                bulkCopy.ColumnMappings.Add("Publicationyear", "Publicationyear");  
                bulkCopy.ColumnMappings.Add("Conferencelocation", "Conferencelocation");  
                bulkCopy.WriteToServer(dt);  
            }  
            catch (Exception ex)  
            {  
                Console.WriteLine(ex.Message);  
            }  
            finally  
            {  
                // Close the SqlDataReader. The SqlBulkCopy   
                // object is automatically closed at the end   
                // of the using block.   
                 
            }  
        }  
  
  
    }  
      
}  
  • 打赏
  • 举报
回复
SqlBulkCopy
wind_cloud2011 2014-01-10
  • 打赏
  • 举报
回复
http://gaohui0208.blog.163.com/blog/static/60427386200851311441906/ C#用DataSet往数据库中添加记录
kangkang08 2014-01-10
  • 打赏
  • 举报
回复
datatable我想就不用说是什么了嘛~
kangkang08 2014-01-10
  • 打赏
  • 举报
回复
引用 楼主 sammyke 的回复:
如题,我通过WebService获取到一份dataset,因为数据库字段有75个字段,不想一个个的拼接语句, 有没有什么其他方法可以把dataset插入到指定数据库中,并给出写法,测试通过,结贴给分。
如果你的表结果与dataset的一致,你可以用DataAdapter的Update方法批量更新! string constr = "server=localhost\\sqlserver2008;initial catalog=test;uid=sa;pwd=123456;"; SqlConnection conn = new SqlConnection(constr); //设置select查询命令,SqlCommandBuilder要求至少有select命令 SqlCommand selectCMD = new SqlCommand("select top 0 * from table", conn); DataTable dt = new DataTable(); SqlDataAdapter sda = new SqlDataAdapter(selectCMD); //上面的语句中使用select 0,不是为了查询出数据,而是要查询出表结构以向DataTable中填充表结构 sda.Fill(dt); //给DataTable添加10条记录 for(int i=1;i<=10;i++) dt.Rows.Add(new object[] { i, "aaa"+i, 20+i }); SqlCommandBuilder scb = new SqlCommandBuilder(sda); //执行更新 sda.Update(dt.GetChanges()); //使DataTable保存更新 dt.AcceptChanges();
小可同学 2014-01-10
  • 打赏
  • 举报
回复
引用 3 楼 l397870376 的回复:
....我做的是 从 我的 数据库 内查出 一堆 数据库 传给 别人 的webservice 好像 也要 70 多 列 哈哈
难道我连的是你的webservice?
_小黑_ 2014-01-10
  • 打赏
  • 举报
回复
....我做的是 从 我的 数据库 内查出 一堆 数据库 传给 别人 的webservice 好像 也要 70 多 列 哈哈
小可同学 2014-01-10
  • 打赏
  • 举报
回复
数据库也不是我设计的,这木有办法,他给啥样就做啥样
wangmin06jb 2014-01-10
  • 打赏
  • 举报
回复
数据库设计有问题吧,75个字段,太坑了

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧