StreamReader objStreamReader=null;
objStreamReader=new StreamReader(ReadfilePath,System.Text.Encoding.GetEncoding("GB2312"));
string Line="";
char[] cha={''};
while(objStreamReader.Peek()!=-1)
{
Line=objStreamReader.ReadLine();读取一行数据
string[] Values=Line.Split(cha); 根据空格分成数组
从Values读数据,写入数据库
}
objStreamReader=new StreamReader(ReadfilePath,System.Text.Encoding.GetEncoding("GB2312"));
string Line="";
char[] cha={''};
while(objStreamReader.Peek()!=-1)
{
Line=objStreamReader.ReadLine();读取一行数据
string[] Values=Line.Split(cha); 根据空格分成数组
从Values读数据,写入数据库
}
再写SQL语句不就行了!
string strSql = "insert into Table1(字段1,字段2,字段3,字段4) values('"+Values[0]+"','"+Values[1]+"','"+Values[2]+"','"+Values[3]+"')";
然后通过OleDB进行连接,可以实行数据的存取.Text
· ODBC
o 标准连接(Standard Security):
" Driver={Microsoft Text Driver (*.txt; *.csv)}; Dbq=C:\\DatabasePath\\;Extensions=asc,csv,tab,txt;"
如果文本文件使用tab作为分隔符,你必须创建schema.ini文件,你必须在连接串中使用Format=TabDelimited选项。
注意:你必须在sql语句中指定文件名(例如"Select Name, Address From Clients.csv")
· OLE DB Provider for Microsoft Jet
o 标准连接(Standard Security):
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\DatabasePath\\;Extended Properties=\"\"text;"HDR=Yes;FMT=Delimited;\"\";"
注意在书写sql语句时必须指定文件名(如“Select Name, Address From Clients.txt”).
ODBC DSN
" DSN=MyDSN;Uid=MyUsername;Pwd=MyPassword;"
Provider=MSDASQL.1;Persist Security Info=False;Data Source=aaaaa;Extended Properties="DSN=aaaaa;DBQ=D:\;DefaultDir=D:\;DriverId=27;FIL=text;MaxBufferSize=2048;PageTimeout=5;";Initial Catalog=D:\Database:
D:\Driver:
Microsoft OLE DB Provider for ODBC Drivers (Access 数据库)Server:
TEXTODBC设置
文件DSN
[ODBC]
DRIVER=Microsoft Text Driver (*.txt; *.csv)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=text
Extensions=*
DriverId=27
DefaultDir=D:\
DBQ=D:\schema.ini 的配置 该文件与.txt文件在同一路径下
[schema.ini]
ColNameHeader=False
Format=CSVDelimited
MaxScanRows=0
CharacterSet=OEM
[新建 文本文档.txt]
ColNameHeader=False
Format=Delimited( )
MaxScanRows=25
CharacterSet=OEM
Col1=F1 Integer
Col2=F2 Integer
Col3=F3 Integer
Col4=F4 Integer
Col5=F5 Integer
这里是确定.txt文件中的内容的格式的,现在是通过" "来进行字段区分的,并且,定义的字段及类型,这些可以在实际的ODBC设置时进行调整.
你文本中的数据对应数据库中有什么规则么?
比如:数据库中5个字段
文本中有7个数据,这样就可以看作是两条记录
1:a, b, c, d, e
2: f, g, null,null,null或者3条记录
1:a, b, c, ,null,null
2: d, e,f, g, null
比如:你的最大的列是5列,
你可以这样编写你的数据文件,可以用记事本写。只要是这种格式就可以了。
Name1,Name2.Name3,Name4,Name5
1,,3,4,5 <<----Name2为空
,2,3,,5 <<----Name1,Name4为空
1,2,3,, <<----Name5,Name4为空
....
第一行是你的表的字段名,以后各行都是你的数据。有的字段是空的话,你就打个逗号。
数据是什么无所谓,你只要保证你的每一行都和你的第一行的逗号数相等就可以了。
将这个文件存成*.csv,你就可以使用ODBC也好,ADO也好,ADO.NET也好,都能读这个“表“了,读出这个表,
想插入那个数据库害不容易吗?
字段: a b c d e f g
文本数据 1 2 3
4 8 10
以后文件数据可能是:
1 2 3 4 5 6
7 8 9 41 25 36
也就是每次文本中每行数据个数相等
字段: a b c d e f g
文本数据 1 2 3
4 8 10
以后文件数据可能是:
1 2 3 4 5 6
7 8 9 41 25 36
也就是每次文本中每行数据个数相等
而且都是顶头排列,也就是表填不满的话,也是后面的字段填不满