vb的问题 如何将文本文档的内容转换成数据库文件
如题,如果有高人我将赠送500积分!conn.ConnectionString="provider=Microsoft.Jet.OLEDB.4.0;DataSource=...
如题,如果有高人 我将赠送500积分!
conn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "/Data.mdb;Jet OLEDB"
这段代码中,“/data.mdb;jet oledb” 分号前面和后面各代表什么含义? 展开
conn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "/Data.mdb;Jet OLEDB"
这段代码中,“/data.mdb;jet oledb” 分号前面和后面各代表什么含义? 展开
展开全部
首先我不是高人!
其次你的文本文档里面的内容必须要有规律,以下给你一个从文本文档中导入省份信息到Access数据库的例子:
假设数据库Data.mdb里面有个表叫做 Prov ,表里面有 ID、Name两个字段,现在我要从文本文档text1.txt里面的内容导入到数据库去。
文本文档内的内容:逗号前面的数字为省市的序号,后面是省市名称;都是按照规律排列的!
110000,北京市
120000,天津市
500000,重庆市
130000,河北省
140000,山西省
150000,内蒙古
210000,辽宁省
220000,吉林省
以下是VB代码
'以下是按钮Command1的执行代码
Private Sub Command1_Click()
Dim TmpStr, strSQL As String
Dim ArrStr() As String '定义一个数组,但是规定数组成员的个数
Open App.Path & "\text1.txt" For Input As #1
Do Until EOF(1)
'先读取整行数据
Line Input #1, TmpStr
'将读取出来的数据按照逗号分割成两个部分,逗号前面是一个部分,后面是一个部分
'这样数组就有两个成员了,ArrStr(0)就是逗号前的部分,ArrStr(1)就是逗号后的部分
ArrStr = Split(TmpStr, ",")
'SQL语句
strSQL = "INSERT INTO [Prov](ID,Name) VALUES(" & ArrStr(0) & ",'" & ArrStr(1) & "')"
'执行SQL语句
ExeSQL (strSQL)
TmpStr = ""
Erase ArrStr
Loop
Close #1
End Sub
'以下是执行SQL语句的函数
Public Function ExeSQL(ByVal sql As String) As ADODB.Recordset
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Set conn = New ADODB.Connection
conn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "/Data.mdb;Jet OLEDB"
conn.Open
Dim stokens() As String
On Error GoTo err
stokens = Split(sql)
If InStr("INSER,DELETE,UPDATE", UCase(stokens(0))) Then
conn.Execute (sql)
Else
Set rst = New ADODB.Recordset
rst.Open Trim(sql), conn, 1, 3
Set ExeSQL = rst
End If
exectuesql_exit:
Set rst = Nothing
Set conn = Nothing
Exit Function
err:
Resume exectuesql_exit
End Function
注:以上代码需要在VB的工程中引用 Microsoft ActiveX Data Objects 2.0 Library
其次你的文本文档里面的内容必须要有规律,以下给你一个从文本文档中导入省份信息到Access数据库的例子:
假设数据库Data.mdb里面有个表叫做 Prov ,表里面有 ID、Name两个字段,现在我要从文本文档text1.txt里面的内容导入到数据库去。
文本文档内的内容:逗号前面的数字为省市的序号,后面是省市名称;都是按照规律排列的!
110000,北京市
120000,天津市
500000,重庆市
130000,河北省
140000,山西省
150000,内蒙古
210000,辽宁省
220000,吉林省
以下是VB代码
'以下是按钮Command1的执行代码
Private Sub Command1_Click()
Dim TmpStr, strSQL As String
Dim ArrStr() As String '定义一个数组,但是规定数组成员的个数
Open App.Path & "\text1.txt" For Input As #1
Do Until EOF(1)
'先读取整行数据
Line Input #1, TmpStr
'将读取出来的数据按照逗号分割成两个部分,逗号前面是一个部分,后面是一个部分
'这样数组就有两个成员了,ArrStr(0)就是逗号前的部分,ArrStr(1)就是逗号后的部分
ArrStr = Split(TmpStr, ",")
'SQL语句
strSQL = "INSERT INTO [Prov](ID,Name) VALUES(" & ArrStr(0) & ",'" & ArrStr(1) & "')"
'执行SQL语句
ExeSQL (strSQL)
TmpStr = ""
Erase ArrStr
Loop
Close #1
End Sub
'以下是执行SQL语句的函数
Public Function ExeSQL(ByVal sql As String) As ADODB.Recordset
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Set conn = New ADODB.Connection
conn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "/Data.mdb;Jet OLEDB"
conn.Open
Dim stokens() As String
On Error GoTo err
stokens = Split(sql)
If InStr("INSER,DELETE,UPDATE", UCase(stokens(0))) Then
conn.Execute (sql)
Else
Set rst = New ADODB.Recordset
rst.Open Trim(sql), conn, 1, 3
Set ExeSQL = rst
End If
exectuesql_exit:
Set rst = Nothing
Set conn = Nothing
Exit Function
err:
Resume exectuesql_exit
End Function
注:以上代码需要在VB的工程中引用 Microsoft ActiveX Data Objects 2.0 Library
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询