PB连接Access数据库遇到两个有关问题!希望各位前辈指点
PB连接Access数据库遇到两个问题!!希望各位前辈指点
第一个:
每次运行程序时都要重新选择数据库

代码是这样写的:
// Profile hrms
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=MS Access Database;PWD=rsb'"
connect using sqlca;
if sqlca.sqlcode <> 0 then
else
open(w_login)
end if
第二个问题:
不知道哪里错了 谢谢
------解决方案--------------------
先回答你第一个问题,每次都提示选择数据库。
这个应该是你在做odbc数据源的时候,没有指定数据库导致的,与pb的数据接口无关。你在odbc数据源管理中重新编辑下数据源,指定好数据库就可以解决了。
至于第二个问题,现在不好说,有可能你的第一个问题解决后,这个问题就不存在了。
------解决方案--------------------
配置的数据库连接串,只提供了密码没有提供相应的用户名,可以试试把用户名加上
SQLCA.DBParm = "ConnectString='DSN=family;UID=dba;PWD=sql'"
------解决方案--------------------
你应该自己建立数据源的。既然你用的是系统预定义的,那就要在控制面板=>管理工具 =>odbc数据源,双击修改【MS Access Database】,指定具体的数据库文件位置。

------解决方案--------------------
第二个:access支持rank函数吗
------解决方案--------------------
第二个问题,把你的sql完整的贴上来,给大家看看
------解决方案--------------------
据我所知,access这种小型数据库是没有rank()这个函数的。
------解决方案--------------------
你最好把你这组sql要实现的东西简单描述下,让大家帮你想想怎么写,不一定用rank函数做,至少目前看这样没有同类的函数去实现。
------解决方案--------------------
第一个问题,没有配置odbc里的数据库;
第二个问题,如下参考:
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='Microsoft.ACE.OLEDB.12.0',DATASOURCE='.\accessdatabase\Dietary_Management.accdb'"
CONNECT using SQLCA ;
第一个:
每次运行程序时都要重新选择数据库
代码是这样写的:
// Profile hrms
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=MS Access Database;PWD=rsb'"
connect using sqlca;
if sqlca.sqlcode <> 0 then
else
open(w_login)
end if
第二个问题:
不知道哪里错了 谢谢
数据库
登录
odbc
------解决方案--------------------
先回答你第一个问题,每次都提示选择数据库。
这个应该是你在做odbc数据源的时候,没有指定数据库导致的,与pb的数据接口无关。你在odbc数据源管理中重新编辑下数据源,指定好数据库就可以解决了。
至于第二个问题,现在不好说,有可能你的第一个问题解决后,这个问题就不存在了。
------解决方案--------------------
配置的数据库连接串,只提供了密码没有提供相应的用户名,可以试试把用户名加上
SQLCA.DBParm = "ConnectString='DSN=family;UID=dba;PWD=sql'"
------解决方案--------------------
你应该自己建立数据源的。既然你用的是系统预定义的,那就要在控制面板=>管理工具 =>odbc数据源,双击修改【MS Access Database】,指定具体的数据库文件位置。
------解决方案--------------------
第二个:access支持rank函数吗
------解决方案--------------------
第二个问题,把你的sql完整的贴上来,给大家看看
------解决方案--------------------
据我所知,access这种小型数据库是没有rank()这个函数的。
------解决方案--------------------
你最好把你这组sql要实现的东西简单描述下,让大家帮你想想怎么写,不一定用rank函数做,至少目前看这样没有同类的函数去实现。
------解决方案--------------------
第一个问题,没有配置odbc里的数据库;
第二个问题,如下参考:
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='Microsoft.ACE.OLEDB.12.0',DATASOURCE='.\accessdatabase\Dietary_Management.accdb'"
CONNECT using SQLCA ;