datatable数据插入到SQL, 急!!大家帮忙,解决马上给分

问题描述

我用datatable读出了excel的数据,想把数据insert到SQL的员工表中,小弟不懂,大家帮帮忙

解决方案

解决方案二:
foreach(DataRowdrindatatable){strsql="insertintoemployee(,,,,,)values(dr.cells[0],dr.cells[1],,,)where……";sqlconnectioncon=newsqlconnection(connectionstrings);sqlcommandcmd=newsqlcommand(sql,con);con.open();cmd.excutenonquery();}我手写的,没测试,具体大概就是这个样子,思想是这样的.
解决方案三:
没搞过...学习下...
解决方案四:
循环插入效率差,既然数据已经存在DataTable中,那就使用批量更新插入进数据库吧SqlDataAdapterdataAdapter=newSqlDataAdapter(SQL,CONNECTION);stringinsertSQL="INSERTINTO[Employee]([name],[age])VALUES(@name,@age)";SqlCommandinsertCmd=newSqlCommand(insertSQL,CONNECTION);insertCmd.Parameters.Add(newSqlParameter("@name",SqlDbType.Char,32,"name"));//name是DataTable中对应的列名insertCmd.Parameters.Add(newSqlParameter("@age",SqlDbType.Real,8,"age"));dataAdapter.InsertCommand=insertCmd;insertCmd.UpdatedRowSource=UpdateRowSource.None;dataAdapter.UpdateBatchSize=0;dataAdapter.Update(DataTable);

解决方案五:
//假设数据库中有需要插入三列,col1,col2,col3,其它字段为可空//假设均为字符型,其它类型的话要转换一下,Convert.To...//DataTable中有对应的三列数据,每行的1,3,5列foreach(DataRowdrindatatable.Rows){stringc1=dr[1].ToString();stringc2=dr[3].ToString();stringc3=dr[5].ToString();InsertDB(c1,c2,c3);}privatevoidInsertDB(stringc1,stringc2,stringc3){SqlConnectionconn=null;try{stringconnStr=ConfigurationManager.Configuration["connectionString"].ConnectionString;conn=newSqlConnection(connStr);stringsql="insertintoEmployee(col1,col2,col3)"sql+="values('"+c1+"','"+c2+"','"+c3+"')";conn.Open();SqlCommandcmd=newSqlCommand(sql,conn);introws=cmd.ExecuteNonQuery();}finaly{if(conn!=null){conn.Close();conn.Dispose();}}}

解决方案六:
14楼的兄弟的代码都比较好,通俗易懂,也比较容易理解。对于性能要求比较高的方法,可以借鉴3楼兄弟的思路——批量处理数据。
解决方案七:
如果,结构一致的话,把整个表更新进去,会不会更方便

时间: 2024-10-06 14:04:01

datatable数据插入到SQL, 急!!大家帮忙,解决马上给分的相关文章

将DataTable 数据插入 SQL SERVER 数据库

原文:将DataTable 数据插入 SQL SERVER 数据库 以下提供3中方式将DataTable中的数据插入到SQL SERVER 数据库: 一:使用sqlcommand.executenonquery()方法插入 foreach (DataRow datarow in datatable.Rows) { string sql = "INSERT INTO [Table_1] ([CompanyName],[CompanyCode],[Address],[Owner],[Memo])&q

mysql-急急急,求sql大神帮忙解决

问题描述 急急急,求sql大神帮忙解决 各位大神们,现在有两张表realtime(send_timerangeoil)和gps(send_timespeed),我要把这两张表的数据汇总到sum表中,sum表的字段有yearmonthdayhourmax(range)-min(range)avg(oil)max(speed)avg(speed),sum表记录的是每小时的数据,年月日小时就是send_time里面的,前两张表是每10秒的数据,他们每条数据都是一一对应的,sum表用的是是组合主键,有年

.net-sql列转行,求sql大神帮忙解决。

问题描述 sql列转行,求sql大神帮忙解决. 如题 姓名 部门 题目ID 题目答案 A 编辑部 1 tt A 编辑部 2 yy A 编辑部 3 hh B 测试部 1 tt B 测试部 3 cc 我想要这样的结果 姓名 部门 第一题 第二题 第三题 ...等 A 编辑部 tt yy hh B 测试部 tt NULL CC 解决方案 你的题目只有1,2,3还是不确定呢 解决方案二: SELECT distinct 姓名 ,部门 ,LEFT(UserList,LEN(UserList)-1) as

100分求一句Oracle中的语句,解决马上给分,谢谢,比较急

问题描述 select贷方,余额fromAAA 查询结果如下:贷方余额0.0050000.008000.0042000.00其中"50000.00"和"8000"是查出来的,"42000.00"是根据:-1*贷方+上一行的余额算出来的,可我不知道语句该怎么写,求指教.号没分了,开个马甲问下,谢谢,解决马上给分 解决方案 解决方案二:是加吗?按照上面的说来,应该是减的吧另外你这是查询一个总的结果是吗?解决方案三:算法我已经给出来了,你自己看啊-1*

用asp.net做一个HR的管理系统,目前就卡在考情上面。请教一个SQL语句(在线等。马上结分)

问题描述 图2中的数据为打卡数据,有重复打卡的,和没打卡的.想插入到图1中.图一中只要一天4个打卡的时间,(注意是每天都会往表一中插入表二中新采集的数据哦)多余的不要.请教SQL语句.如果没打卡就为null或者是''谢谢各位大神!!!!!!! 解决方案 解决方案二:要么用存储过程,要么用程序代码实现,一句话的SQL基本无法实现.解决方案三:应该是这样的,表2中的数据应当先根据日期时间进行处理.按照你说的,一天有4个时间段:8:00-9:0012:00-13:0013:45-14:0017:50-

WriteToServer将DataTable数据插入数据库,个别数据导入不正确

问题描述 从把一个excel中的数据转成DataTable,再将DataTable的内容通过WriteToServer方法插入数据库,但是插入的数据和DataTable中的值有个别不一致其中excel中的数据如图插入数据库后的数据如图有几个数据是一样的,个别数据不一样,调试的时候,在调用WriteToServer之前,看过DateTable中的数据,和excel那个截图是一致的,插入数据库后就不一样了求大神帮忙 解决方案 解决方案二: 解决方案三:两天多了,都没有人关注,请浏览过的大神帮帮忙解决

(急,解决马上给分)我准备做一个MTV小网站,其中的Flash全部共享同一个preload,怎样做?

问题描述 详细为:一:我有20个Flash格式的MTV1.SWF,MTV2.SWF.........MTV20.SWF.二:有一个用于预加载MTV用的Flash,名为Preload.swf.用于显示加载MTV时显示加载比例.三:有一个用于控制MTV播放,停止等操作的Control.swf.全部怎样做到所有的MTV加载的时候共享同一个Preload.swf和同一个Control.swf?谢谢!

sqlserver-SQL大神帮忙解决个问题

问题描述 SQL大神帮忙解决个问题 表结构 ID,NAME,PARENTID 1,动物,null 2,猫,1 3,狗,1 4,人类,null 5,亚洲人,4 6,非洲人,4 7,狼,1 8,猪,1 9,美洲人,4 10,植物,null 11,月季,10 SELECT查询结果让数据分好组, 就是比如说这个例子里id号7和8弄到猫和狗下面. 因为实际问题是新插入一条数据可能父节点是1或者4,但是希望查询结果是分好组的 这个用SQL怎么实现? 解决方案 你说的应该是树形结构!因为SQLServer用的

表单-php数据插入问题,哪位大神帮忙看看

问题描述 php数据插入问题,哪位大神帮忙看看 2C 招商页面测试 <?php if(!isset($_POST['submit'])){ //如果没有表单提交,显示一个表单 ?> 请输入姓名: 请输入电话: 请确认城市: 请输入邮箱: <?php } else { //如果提交了表单 //数据库连接参数 $host = ""localhost""; $user = ""root""; $pass = &qu