求救 excel批量导入 循环插入数据 oracle

问题描述

求救excel批量导入循环插入数据并删除重复的数据oracle已有的代码如下舍弃以下代码亦可求段循环插入数据的源代码publicstaticvoidphoto(DataTablezh){intcount=0;stringstrfields="";//列stringstrvalues="";//值stringfiled="";stringstrvalue="";for(inti=0;i<zh.Columns.Count;i++)//循环列名并插入数据列名较多{stringstrfiled=zh.Columns[i].ColumnName;strfields+=strfiled+",";strvalues+="@"+strfiled+",";}if(strfields!=""){strfields=strfields.Substring(0,strfields.LastIndexOf(","));strvalues=strvalues.Substring(0,strvalues.LastIndexOf(","));}try{OracleConnectionsqlconn=newOracleConnection(ConfigurationManager.AppSettings[connectdate.getconnect()]);sqlconn.Open();OracleDataAdapterda=newOracleDataAdapter();OracleCommandcmd=newOracleCommand();//建立InsertCommandda.InsertCommand=cmd;StringBuildersb=newStringBuilder("");cmd.CommandText=sb.ToString();sb.Append("INSERT"+casemessage+","+strfields+"VALUES()");sb.Append(strvalues+")");for(inti=0;i<zh.Columns.Count;i++){filed=zh.Columns[i].ColumnName;strvalue="@"+filed;OracleParameteroparam=newOracleParameter();oparam.ParameterName=strvalue;oparam.OracleType=DbTypeList[i];oparam.SourceVersion=DataRowVersion.Current;oparam.SourceColumn=filed;da.InsertCommand.Parameters.Add(oparam);}count=da.Update(zh);OracleOperatecon=newOracleOperate();//删除掉重复记录,在casemessage表中当casenumber相同时则认为该数据重复......stringsql="deletefromcasemessagewheretidnotin(selectmin(tid)fromcasemessagegroupbycasenumber)";con.sqlconn.Close();}catch(Exceptionex){count=0;}returncount;}

解决方案

解决方案二:
我顶别沉啊
解决方案三:
该回复于2011-12-12 14:47:01被版主删除
解决方案四:
木人啊
解决方案五:

解决方案六:

解决方案七:
try{if(!string.IsNullOrEmpty(FileUpload1.PostedFile.FileName)){if(!(".xls,.xlsx".Contains(Path.GetExtension(this.FileUpload1.PostedFile.FileName)))){this.ShowMessage("上传的文件不是EXCEL文件!请重新上传!");}else{fileName=Path.GetTempFileName();this.FileUpload1.PostedFile.SaveAs(fileName);stringconnectionString="Provider=Microsoft.ACE.OLEDB.12.0;"+"DataSource="+fileName+";"+"Extendedproperties=Excel12.0;";varsql="Select*from[Sheet1$]";DataSetds=newDataSet();OleDbDataAdapterdataAdapter=newOleDbDataAdapter(sql,connectionString);dataAdapter.Fill(ds,"data");this.GvReport.DataSource=ds.Tables["data"];this.GvReport.DataBind();List<ContactMsg>list=newList<ContactMsg>();for(inti=0;i<ds.Tables["data"].Rows.Count;i++){ContactMsgperModel=newContactMsg();stringPersonNO=ds.Tables[0].Rows[i]["人员编号"].ToString().Replace("","");if(!String.IsNullOrEmpty(PersonNO)){stringPersonName=ds.Tables[0].Rows[i]["姓名"].ToString().Replace("","");stringIsContact=!String.IsNullOrEmpty(ds.Tables[0].Rows[i]["是否签约"].ToString().Replace("",""))?ds.Tables[0].Rows[i]["是否签约"].ToString().Replace("",""):"0";ContactMsgmodel=newContactMsg(){PersonNO=PersonNO,PersonName=PersonName,IsContact=IsContact};list.Add(model);}}ViewState["ContactMsg"]=list;}}else{this.ShowMessage("请选择需要导入的住宿信息excel表!");}}catch(Exceptione){if(e.Message.Equals("外部表不是预期的格式。")){varreader=XmlReader.Create(fileName);vardt=newDataTable();varrow=0;varisColumn=false;varcol=0;while(reader.Read()){if(reader.Name=="Row"&&reader.NodeType==XmlNodeType.Element){row=row+1;col=0;if(row>1){vardr=dt.NewRow();dt.Rows.Add(dr);}}if(reader.Name=="Cell"&&reader.NodeType==XmlNodeType.Element){isColumn=true;if(reader.HasAttributes&&reader.GetAttribute("ss:Index")!=null){col=ConvertToInt(reader.GetAttribute("ss:Index"));}else{col=col+1;}}if(reader.NodeType==XmlNodeType.Text){if(isColumn){if(row==1){dt.Columns.Add(reader.Value);isColumn=false;}else{dt.Rows[dt.Rows.Count-1][col-1]=reader.Value;}}}if(reader.Name=="Table"&&reader.NodeType==XmlNodeType.EndElement){break;}}
解决方案八:
照着上面的修改成你目前所需要的就行了
解决方案九:
该回复于2011-12-13 13:55:22被版主删除

时间: 2024-09-18 03:46:20

求救 excel批量导入 循环插入数据 oracle的相关文章

用QueryTable向excel批量导入数据

前面写过两篇excel操作的文章,有朋友质疑大批量数据下的性能问题,这个时候最好用批量复制的 方法,可以用excel的QueryTable来直接查询数据库,但是必须引用com组件. 参考代码: using System;using System.Collections.Generic;using System.Text;using System.Reflection;using Excel = Microsoft.Office.Interop.Excel;namespace ConsoleApp

探讨SQL Server批量向数据库插入数据的性能优化问题

昨天下午快下班的时候,无意中听到公司两位同事在探讨批量向数据库插入数据的http://www.aliyun.com/zixun/aggregation/14109.html">性能优化问题,顿时来了兴趣,把自己的想法向两位同事说了一下,于是有了本文. 公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问. 技术方案一: 压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入.

asp excel批量导入acc

问题描述 asp excel批量导入acc asp excel批量导入acc asp excel批量导入accasp excel批量导入acc 解决方案 http://www.csdn123.com/html/topnews201408/77/2877.htmhttp://download.csdn.net/detail/lishuangzs/982917 解决方案二: http://www.aspbc.com/tech/showtech.asp?id=287

用ADO向Excel批量导入数据

和前面一篇用OleDB的方法类似,我们可以用ADO从RecordSet对象向Excel批量插入数据,这个方法无法自动复制字段名. 我们需要引用ADO和Excel的com对象

向Excel中导入TXT文本数据的三种方法

Excel支持导入外部文本文件中的文本内容.通过导入数据的方法我们可以很方便地使用外部数据,在许多时候可以免去重新手动键入文本的麻烦. 在Excel中导入文本有多种方法,我们来看一看-- 1.使用"打开"命令 这是最常用的方法,这种方法可以直接将文本文件打开为一个Excel工作簿. 选择菜单命令"文件|打开",在"打开"对话框中选择"文件类型"为"文本文件",如图1所示,然后找到要导入的文本文件并将其选中,

关于excel文件导入到mysql数据没有读取到文件问题

问题描述 我最近在做一个oa项目,其中有一个excel文件导入到数据中去,用poi做的.我现在在后台能够得到文件的完整路径,但是HSSFWorkbook并没有创建一个工作簿.在网上找了很多资料,并没有找到解决方案,本人是只菜鸟,望各位大侠指路,帮忙看看.谢谢!前台import.jsp代码:写道 解决方案 既然是客户端的文件路径,服务器读不到那个文件那么解决方法就是,先将这个文件上传到服务器,你临时保存,然后读取数据入库,成功后删除 一步到位 不用吧上传和读取数据分开解决方案二:代码我只瞄一眼,不

php 把excel批量导入到数据库代码

我们是利用了ExcelFileParser这个扩展来处理的哦, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l

简单问题:如何循环插入数据??

问题描述 如:for(inti=1;i<100;i++){sql="insertintotemp(data)values'"+i+"'"}请给个示例,谢谢最好从SQL连接开始 解决方案 解决方案二:没人呢解决方案三:顶解决方案四:try{dataMSSQL.Open();trr.Begin();foreach(DataRowdrinds.Tables[0].Rows){//循环处理每个人所有的收费项目DataRowaddRow=AddRow(dr,dataDB

Django框架利用ajax实现批量导入数据功能_AJAX相关

本文实例为大家分享了网页中利用ajax实现批量导入数据功能的实现方法,供大家参考,具体内容如下 url.py代码: 复制代码 代码如下: url(r'^workimport/$', 'keywork.views.import_keywork', name='import_keywork') view.py代码: from keywork.models import DevData from django.http import JsonResponse #django ajax部分 def im