有一个txt文本文件,其文件格式如下:“2003-9-12 8:00:00”,“50”;“2003-9-12 9:00:00”,“40”;“2003-9-12 10:00:00”,“30”;
在VB中怎么利用ADO控件将上述的三条记录:“2003-9-12 8:00:00”,“50”;“2003-9-12 9:00:00”,“40”;“2003-9-12 10:00:00”,“30”;分成两列导入在SQLServer数据库中的table1表中。导入后的表为:
第一列                  第二列
2003-9-12 8:00:00       50
2003-9-12 9:00:00       40
2003-9-12 10:00:00      30
要是有别的方法,敬请赐教。谢谢!!

解决方案 »

  1.   

    1.读取文本文件
    2.用split()函数将文本文件分解成三条记录
    3.再用split()函数分解
    4.然后通过Rs赋值,保存到数据库中
      

  2.   

    用SQL SERVER 的 DTS 导入一次,并且保存一个VBS 脚本,以后就可以直接用VB调用执行了。
      

  3.   

    先要把文本文件的数据格式化:2003-9-12 8:00:00|50
    2003-9-12 9:00:00|40
    2003-9-12 10:00:00|30文本文件存为f:\test.txt然后将数据导入test数据库的tb1表中:Dim cn As New ADODB.Connection
        Dim cm As New ADODB.Command
        Dim strFile As String
        strFile = "f:\test.txt"
        cn.Open "provider=sqloledb.1;password=;persist security=true;user id=sa;initial catalog=test;data source="
        cm.ActiveConnection = cn
        cm.CommandType = adCmdText
        '从指定的数据文件中导入tb1,该文件使用竖杠 (|) 字符作为字段终止符,使用 \n 作为行终止符。
        cm.CommandText = "BULK INSERT test.dbo.[tb1] " & _
                         "From '" & strFile & "'" & _
                         "WITH " & _
                         "( " & _
                         "FIELDTERMINATOR = '|', " & _
                         "ROWTERMINATOR = '\n'" & _
                         ")"
        cm.Execute
        Set cm = Nothing
        Set cn = Nothing
      

  4.   

    楼主的这个文本文件比较简单,建议采用FeelingL() 的做法
    当然如果不需要用程序实现的话,直接用DTS就可以了
      

  5.   

    我现在作的文本文件有几百行,每行是用换行分隔的,而且每行的字段数(用,分隔)不同,即字段相同的导入同一个数据库表中。
    我就是用split()分隔的