我用datagrid控件通过数据控件 adodc 来绑定到我的数据库文件!
我通过 “adodc 属性”手工设置各选项后,能在datagrid 中看到相应数据!
但这样路径就为绝对了,当我把文件拷贝到其他位置时常因路径问题而报错!所以我想通过vb代码动态地连接我的数据库文件,如下代码:
Private Sub Form_Load()
Dim str As String '定义
str = App.Path
If Right(str, 1) <> "\" Then str = str + "\"
MsgBox str
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "DataBase\POS.mdb"
Adodc1.ConnectionString = str
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from bmem order by bmeno"
'' Adodc1.Refresh ''调试时这句报错,故注释End Sub 程序运行后,提示未找到数据库文件,再点“上一条记录”或“下一条记录”,都报错!
请各位帮忙!
我通过 “adodc 属性”手工设置各选项后,能在datagrid 中看到相应数据!
但这样路径就为绝对了,当我把文件拷贝到其他位置时常因路径问题而报错!所以我想通过vb代码动态地连接我的数据库文件,如下代码:
Private Sub Form_Load()
Dim str As String '定义
str = App.Path
If Right(str, 1) <> "\" Then str = str + "\"
MsgBox str
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "DataBase\POS.mdb"
Adodc1.ConnectionString = str
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from bmem order by bmeno"
'' Adodc1.Refresh ''调试时这句报错,故注释End Sub 程序运行后,提示未找到数据库文件,再点“上一条记录”或“下一条记录”,都报错!
请各位帮忙!
我把窗体 form1 中的 adodc 控件属性上连接字符和数据库位置等信息全部删除了,想通过以上 form1 的 load 事件来处理这些,错误提示如下:首先,弹出窗体,提示“[microsoft][ odbc 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序”,点“确定”后就可看到窗体及其上的 datagrid 控件,也有数据,但第一条记录的 第一个字段(主键)的值为 空 ,提示错误,如果这是给这个字段随便输入一个值,则可正常运行;若先不输,随便点击窗体上的某个按纽,就报错并退出系统!
这句这样写;
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & App.path &"DataBase\POS.mdb"]
你再试一下的啊!!
楼上兄弟,谢谢你的答复!& str & App.path 这样不行吧!因为 前面已经有 str = App.Path,这个语句了,还。????
Adodc1.ConnectionString = str
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from bmem order by bmeno"
'' Adodc1.Refresh ''调试时这句报错,故注释End Sub
提供一个解决这样的问题的好办法:
1:用ADODC控件的连接数据库向导进行连接,连接好之后就可以得到连接字符串
2:把你的连接字符串和生成的字符串进行比较,修改
Adodc1.RecordSource = "select * from bmem order by bmeno"
改写成
Adodc1.RecordSource ="bmem" '直接写表名
str = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & _
"\DataBase\pos.mdb;Persist Security Info=False;"
Adodc1.ConnectionString = str
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from bmem order by bmeno"
Adodc1.Refresh.............................
设置为空时会报错,设置一点但没有数据库时也报错