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读数据,写入数据库

解决方案 »

  1.   

    将Values数组对应的元素的值取出!
    再写SQL语句不就行了!
    string strSql = "insert into Table1(字段1,字段2,字段3,字段4) values('"+Values[0]+"','"+Values[1]+"','"+Values[2]+"','"+Values[3]+"')";
      

  2.   

    把文本文件视作是数据库
    然后通过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;" 
      

  3.   

    ConnectionString:
    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设置时进行调整.
      

  4.   

    楼主数据库中的字段肯定是固定的吧
    你文本中的数据对应数据库中有什么规则么?
    比如:数据库中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.   

    你这个总的有个标准啊。
    比如:你的最大的列是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也好,都能读这个“表“了,读出这个表,
    想插入那个数据库害不容易吗?
      

  6.   

    表比如是:
    字段:   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
    也就是每次文本中每行数据个数相等
      

  7.   

    表比如下:
    字段:   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
    也就是每次文本中每行数据个数相等
    而且都是顶头排列,也就是表填不满的话,也是后面的字段填不满