C#写个文本文件导入数据库的程序

问题描述

文本文件(text.txt)里有有若干道试题,格式是这样这是其中一道,题目和选项一列,答案一列。"为切实加强公安信息网络安全管理工作,规范公安机关人民警察使用公安信息网,落实()的管理责任制,根据《中华人民共和国人民警察法》、《中华人民共和国计算机信息系统安全保护条例》等有关法律、法规,制定本规定。A谁主管、谁负责B谁使用、谁负责C谁负责、谁使用D谁负责、谁主管","AB"导入数据库pubs下的test表中,题目和试题对应表中的STNR和STDA这两列...文本文件里很多道题目一下考进数据库中,用c#写个程序来实现这个功能,如何实现要求用c#写个程序

解决方案

解决方案二:
还没搞过呢!!
解决方案三:
用BulkInsert语句如果列的分割不明显或者容易混淆,你可对文本做与处理,然后用BulkInsert语句把数据倒入BulkInserttablenamefrom'C:/A.txt'with(Fieldterminator='|',rowterminator='r')
解决方案四:
publicclass试题{privatestring_题目;privatestring_答案;publicstring题目{get{return_题目;}set{_题目=value;}}publicstring答案{get{...}set{...}}}publicclassRun{privateIList<试题>读取试题(){IList<试题>list;StreamReaderdin=newStreamReader(File.OpenRead("text.txt"));intflag=0;试题my试题=new试题();do{str=din.ReadLine();flag++;if(str!=null){if(flag%2!=0){my试题.题目=din.readLine();}else{my试题.答案=din.readLine();list.add(my试题.);my试题=new试题();}}}while(str!=null);returnlist;}staticvoidmain(){IList<试题>试题集合=读取试题();for(inti=0;i<试题集合.length;i++){stringsql=string.Format("insertintotestvalues'{0}','{1}'",试题集合[i].试题,试题集合[i].答案);...ExecuteNoneQuery(sql,...);}}}
解决方案五:
把你的文本做一下修改.将每个问题(包括选择内容)与正确答案都放在一行里,问题(包括选择内容)与正确答案之间用一个文本里绝对不会出现的符号(或符号集合,比如"<",或者"<>")分隔开.用文件流读取该文本文件,读一行,就按照该特殊符号切开字符串为两部分,将取得的问题和答案,分别放到INSERT语句中的对应位置.依次类推循环文本中的每行即可.个人认为最好在表中再加个"ID"或者"题号"字段用以区别每条记录比较好,将来如果用到查找或者其他处理也比较方便.具体代码可以参考3楼的,他写的不错,但是在取得数据上面,他所要读取的行太乱,如果文本中哪个位置不小心多留了一个空行,存入数据库的结果将会发生毁灭性的错误.而采用我说的方法,就算漏掉了某个分隔符,整行也会按顺序被存入数据库,实在不行你还可以手动修改一下.就算是有错误也并不太难挽回.你只要将3楼的这段if(str!=null){if(flag%2!=0){my试题.题目=din.readLine();}else{my试题.答案=din.readLine();list.add(my试题);my试题=new试题();}}改为:if(str!=null){my试题=new试题();string[]str=din.readLine().split("<你的分隔符>");my试题.题目=str[0];my试题.答案=str[1];list.add(my试题);}其他代码大可照搬
解决方案六:
jet4.0可以直接连接逗号分割的文本文件,把你的文本文件所在的文件夹当数据库,用OpenDataSource打开,然后来个Selectinto语句就搞定了,看你的文本,似乎第一行不是列名,你可以先用代码把文本文件的第一行加上列名好一些具体语法,查Access帮助的In子句以及SqlServer的OpenDataSource
解决方案七:
text.txt第一行加上STNR,STDA假设text.txt在C:Data文件夹下SELECT*intopubs.testFROMOpenDataSource('Microsoft.Jet.OLEDB.4.0','DataSource="C:Data";UserID=Admin;Password=;ExtendedProperties=text')...text#txt

时间: 2016-06-29

C#写个文本文件导入数据库的程序的相关文章

文本文件内容导入数据库

问题描述 文本文件里的内容导入到数据库中,数据库可能是MSsql,或oracle,导入数据库不一定是在本机,也可能是局域网,写个小程序来实现这个功能.能给个解决方案吗,这样便于解决问题. 解决方案 解决方案二:用importssystem.io打开文体文件,读取一行,加工这一行数据,生成SQL语句,存入数据库解决方案三:可以直接通过查询分析器就可以了,写程序也用这样的语句insert[ODBC;Driver=SQLServer;Server=SQL服务器名;Uid=用户名;Pwd=密码;data

我在使用VS写asp.net,web应用程序中如何连sql server 接数据库

问题描述 我在使用VS写asp.net,web应用程序中如何连sql server 接数据库 10C 在web程序中我需要连接数据库,使用其中的数据.怎样才能用js与我的sql server2012连接,有没有具体的列子啊!新手求大神解答. 解决方案 用js与数据库连接还是第一次听说,你如果需要执行数据操作是需要后端语言的,Web应用在后台代码中可以用ADO.NET技术来进行数据操作.可以前台js 使用Ajax Post后者Get请求后端接口,后端进行数据库的增删改查.如果是服务器控件直接在事件

java oracle-怎么在oracle用imp导入数据库前删除数据库里的表 触发器怎么写 或者java代码怎么写

问题描述 怎么在oracle用imp导入数据库前删除数据库里的表 触发器怎么写 或者java代码怎么写 // 还原 Button button_1 = new Button(composite_1, SWT.NONE); button_1.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TableItem[] tis = table.get

如何定时从文本文件中读取数据并导入数据库中

问题描述 远程电脑一文件夹中有一aoi.txt文本文件,格式如下:Status;Line;Machine;SerialNum;BoardIndex;TestTime;RepairTime----(次行为字段名)PASS;ILine;Irepair;RecipeRevision;4H817TE1VRZM;1;20080423152320;20080423152320PASS;ILine;Irepair;RecipeRevision;4H817TE1VRZM;2;20080423152320;200

Del.icio.us转换到数据库的程序

使用del.icio.us做为网摘有一个好处,就是可以完整将数据导出,这些数据可以再进行加工和整理再利用.今天我介绍一个我开发的可以将del.icio.us网摘数据导出并转到到数据库,同时转换到RSS的XML文件中的程序. del.icio.us导出的是一个IE收藏夹文件,我写的程序的第一个功能就是将这个收藏夹文件"转换到文本数据库",先将下载下来的文件另存为delicious.html文件,然后在程序中点击"转换到文本数据库",就可以将这个收藏夹转换到一个文本数据

C# 文本数据导入数据库

问题描述 文本文件(text.txt)里有有若干道试题,格式是这样这是其中一道,题目和选项一行,答案一行."为切实加强公安信息网络安全管理工作,规范公安机关人民警察使用公安信息网,落实()的管理责任制,根据<中华人民共和国人民警察法>.<中华人民共和国计算机信息系统安全保护条例>等有关法律.法规,制定本规定.A谁主管.谁负责B谁使用.谁负责C谁负责.谁使用D谁负责.谁主管","AB"...文本文件里很多道题目一下考进数据库中,用c#写个程序来

java大批量数据导入数据库

问题描述 java大批量数据导入数据库 有大学130W条数据需要写入数据库,但是一条一条执行sql语句写入速度太慢, 有没有什么好的方法能将这些数据快速写入数据库? 解决方案 先把数据写到文件(比如csv格式),上传到服务器,导入的SQL很简单(注意是服务器上文件路径) BULK INSERT table1 FROM 'D:mydata.csv' WITH( FIELDTERMINATOR = ',', ROWTERMINATOR = 'n' ) 解决方案二: 每种数据库都支持一个把数据文件直接

vs2005导入数据库

问题描述 privatevoidBtnInsert_Click(objectsender,EventArgse){stringfPath=this.fName.PostedFile.Filename;//获得要导入的文本文件stringextName=fPath.Substring(fPath.LastIndexOf(".")+1);//获得文件的扩展名SqlConnectioncon=newSqlConnection("server=.;database=pubs;uid=

.NET数据库应用程序中存储过程的应用

程序|存储过程|数据|数据库 一.前言: 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程.总的来说,存储过程具有以下一些优点: ◆存储过程允许标准组件式编程. ◆存储过程能够实现较快的执行速度. ◆存储过程能够减少网络流量. ◆存储过程可被作为一种安全机制来充分利用. 本文作者将向大