???我的一段访问MDB的代码,如何改变能访问DBF数据库????

sl80509 2003-03-31 10:26:57
table_name = ListBox1.List(ListBox1.ListIndex)
DataGird1.Caption = table_name
provider = "provider = microsoft.jet.oledb.4.0"
datasource = "data source= " & App.Path + "\a.mdb"
Adodc1.ConnectionString = provider & ";" & datasource
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = table_name
Set DataGrid1.datasource = Adodc1
Adodc1.Refresh
...全文
49 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chenyu5188 2003-04-04
"SourceDB=;" & app.path & "\data" & _
这一句有点手误,少了一个分号,现改为:
"SourceDB=;" & app.path & "\data;" & _
回复
chenyu5188 2003-04-02
可以引用ADO对象来搞定。
你首先要在VB菜单中:
“工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.1 Library"
示例:

Private Sub command1_click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnstr As String
cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBF;" & _
"SourceDB=;" & app.path & "\data" & _
"Exclusive=No"
cn.Open cnstr
rs.CursorLocation = adUseClient
rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
End Sub

以上示例程序的作用是将XXX.dbf表中的数据显示在datagrid1控件中。

你程序内要改的主要是连接字符串。你可以参考以上的示例来做。

Dim cnstr As String
table_name = ListBox1.List(ListBox1.ListIndex)
DataGird1.Caption = table_name
cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBF;" & _
"SourceDB=;" & app.path & "\data" & _
"Exclusive=No"
Adodc1.CommandType = adCmdTable
Adodc1.ConnectionString = cnstr
Adodc1.RecordSource = XXX表 'dbf文件名
Adodc1.refresh
Set DataGrid1.datasource = Adodc1
datagrid1.Refresh

假设你的数据库文件存放在app.path 中的\data目录下。
app.path是取得当前可执行文件的路径。
回复
flymoon 2003-04-01
自编函数:处理中文日期 、处理BDE数据库别名、查找目录文件...
回复
zsgzsgzsg 2003-04-01
直接访问表:
ConnString="Driver=Microsoft Visual Foxpro Driver;UID=;SourceType=DBF;SourceDB=" & App.Path + "\"
table_name = ListBox1.List(ListBox1.ListIndex)
DataGird1.Caption = table_name
Adodc1.ConnectionString = ConnString
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = table_name 'dbf文件名
Set DataGrid1.datasource = Adodc1
Adodc1.Refresh

访问数据库:
ConnStr = "Driver=Microsoft Visual FoxPro Driver;UID=;SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine; SourceDB=\\mysub\mydata\actsbc.dbc"

回复
chenyu5188 2003-04-01
同意楼上的代码。
回复
zsgzsgzsg 2003-04-01
ConnStr= "Driver=Microsoft Visual Foxpro Driver; UID=userID;SourceType=DBC;SourceDB=" & App.Path + "\mydatabase.dbc"
Adodc1.ConnectionString = ConnStr
回复
sl80509 2003-04-01
多谢 zsgzsgzsg(zsg),但是改完后。运行出现外表不是预期的
格式提示,我用的是VFro6.0建立库
回复
zsgzsgzsg 2003-04-01
table_name = ListBox1.List(ListBox1.ListIndex)
DataGird1.Caption = table_name
provider = "provider = microsoft.jet.oledb.4.0"
datasource = "data source= " & App.Path + "\;Extended properties=dBase 5.0"
Adodc1.ConnectionString = provider & ";" & datasource
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = table_name 'dbf文件名
Set DataGrid1.datasource = Adodc1
Adodc1.Refresh
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2003-03-31 10:26
社区公告
暂无公告