问题描述
如题,我通过WebService获取到一份dataset,因为数据库字段有75个字段,不想一个个的拼接语句,有没有什么其他方法可以把dataset插入到指定数据库中,并给出写法,测试通过,结贴给分。
解决方案
解决方案二:
数据库设计有问题吧,75个字段,太坑了
解决方案三:
数据库也不是我设计的,这木有办法,他给啥样就做啥样
解决方案四:
....我做的是从我的数据库内查出一堆数据库传给别人的webservice好像也要70多列哈哈
解决方案五:
引用3楼l397870376的回复:
....我做的是从我的数据库内查出一堆数据库传给别人的webservice好像也要70多列哈哈
难道我连的是你的webservice?
解决方案六:
引用楼主sammyke的回复:
如题,我通过WebService获取到一份dataset,因为数据库字段有75个字段,不想一个个的拼接语句,有没有什么其他方法可以把dataset插入到指定数据库中,并给出写法,测试通过,结贴给分。
如果你的表结果与dataset的一致,你可以用DataAdapter的Update方法批量更新!stringconstr="server=localhost\sqlserver2008;initialcatalog=test;uid=sa;pwd=123456;";SqlConnectionconn=newSqlConnection(constr);//设置select查询命令,SqlCommandBuilder要求至少有select命令SqlCommandselectCMD=newSqlCommand("selecttop0*fromtable",conn);DataTabledt=newDataTable();SqlDataAdaptersda=newSqlDataAdapter(selectCMD);//上面的语句中使用select0,不是为了查询出数据,而是要查询出表结构以向DataTable中填充表结构sda.Fill(dt);//给DataTable添加10条记录for(inti=1;i<=10;i++)dt.Rows.Add(newobject[]{i,"aaa"+i,20+i});SqlCommandBuilderscb=newSqlCommandBuilder(sda);//执行更新sda.Update(dt.GetChanges());//使DataTable保存更新dt.AcceptChanges();
解决方案七:
datatable我想就不用说是什么了嘛~
解决方案八:
http://gaohui0208.blog.163.com/blog/static/60427386200851311441906/C#用DataSet往数据库中添加记录
解决方案九:
SqlBulkCopy
解决方案十:
privatestaticvoidDataTableToSQLServer(DataTabledt){stringconnectionString=GetConnectionString();using(SqlConnectiondestinationConnection=newSqlConnection(connectionString)){destinationConnection.Open();using(SqlBulkCopybulkCopy=newSqlBulkCopy(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(Exceptionex){Console.WriteLine(ex.Message);}finally{//ClosetheSqlDataReader.TheSqlBulkCopy//objectisautomaticallyclosedattheend//oftheusingblock.}}}}
解决方案十一:
也可以这样bulkCopy.ColumnMappings.Add(1,1)