PB连接access数据库
来源:互联网 发布:ps做淘宝详情页切片 编辑:程序博客网 时间:2024/06/11 16:26
/*********************************************************************************
*函数名称:f_reg_db_access
*参数列表:无
*返回值:0-失败,1-成功
*作者:李永结
*函数功能:注册数据库(微软access)
*创建时间:2011/10/03
*说明:需要文件:
*********************************************************************************/
long ll_rtn
string ls_driver,ls_db_path,ls_db_name,ls_ds_name,ls_dbms
//设置数据库路径及文件名
ls_db_path = gs_rootpath +"\modeldb.accdb"
//设置数据库名称
ls_db_name = "modeldb.accdb"
//设置ODBC数据源名称
ls_ds_name = "modeldb.accdb"
//如果连接数据库方式不是ODBC,则不需要注册数据库
ls_dbms = trim(profilestring("system.ini","database","DBMS","ODBC"))
if upper(ls_dbms) <> "ODBC" then
f_log("连接数据库方式不是ODBC,不需注册数据库")
return 1
end if
//检查数据库是否已经注册
ll_rtn=RegistryGet("HKEY_current_user\Software\ODBC\ODBC.INI\ODBC Data Sources","modeldb.accdb",RegString!,ls_driver)
IF ll_rtn=1 THEN
f_log(ls_db_name+"数据库已经注册,不需要再注册")
RETURN 2
ELSE
f_log(ls_db_name+"数据库没有注册,准备注册")
END IF
//取得数据库驱动程序的路径
ll_rtn=RegistryGet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb, *.accdb)","driver",RegString!,ls_driver)
IF ll_rtn=-1 THEN
Messagebox("错误","应用程序无法获取Windows的系统目录,系统统将终止运行!",Stopsign!)
f_log("应用程序无法获取Windows的系统目录,系统统将终止运行!")
RETURN -1
END IF
//添加数据源
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\ODBC Data Sources',ls_ds_name,RegString!,'Microsoft Access Driver (*.mdb, *.accdb)')
IF ll_rtn=-1 THEN
Messagebox('错误','应用程序无法设置ODBC DATA SOURCE名称,系统将终止运行',StopSign!)
RETURN -1
END IF
//设置ODBC.INI的细节
ll_rtn=RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"driver",RegString!,ls_driver)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(driver),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(driver),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"DBQ",RegString!,ls_db_path)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(DBQ),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(DBQ),系统将终止运行")
RETURN -1
END IF
ll_rtn = RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"FIL",RegString!,'MS Access')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(MS Access),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(MS Access),系统将终止运行")
RETURN -1
END IF
ll_rtn = RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"UID",RegString!,'')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(UID),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(MS Access),系统将终止运行")
RETURN -1
END IF
ll_rtn = Registryset("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"DriverId",RegULong!, 25)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(DriverId),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(DriverId),系统将终止运行")
RETURN -1
END IF
ll_rtn = Registryset("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"SafeTransactions",RegULong!, 0)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(SafeTransactions),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(SafeTransactions),系统将终止运行")
RETURN -1
END IF
//设置ODBC.INI\engines子健的细节
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\' + ls_db_name,'engines',RegString!,'')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','implicitcommitsync',RegString!,'')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\implicitcommitsync),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\implicitcommitsync),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','usercommitsync',RegString!,'yes')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\usercommitsync),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\usercommitsync),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','maxbuffersize',regulong!,2048)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\maxbuffersize),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\maxbuffersize),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','pagetimeout',regulong!,5)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\pagetimeout),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\pagetimeout),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','threads',regulong!,3)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\threads),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\threads),系统将终止运行")
RETURN -1
END IF
f_log(ls_db_name + "数据库注册完成")
return 1
*函数名称:f_reg_db_access
*参数列表:无
*返回值:0-失败,1-成功
*作者:李永结
*函数功能:注册数据库(微软access)
*创建时间:2011/10/03
*说明:需要文件:
*********************************************************************************/
long ll_rtn
string ls_driver,ls_db_path,ls_db_name,ls_ds_name,ls_dbms
//设置数据库路径及文件名
ls_db_path = gs_rootpath +"\modeldb.accdb"
//设置数据库名称
ls_db_name = "modeldb.accdb"
//设置ODBC数据源名称
ls_ds_name = "modeldb.accdb"
//如果连接数据库方式不是ODBC,则不需要注册数据库
ls_dbms = trim(profilestring("system.ini","database","DBMS","ODBC"))
if upper(ls_dbms) <> "ODBC" then
f_log("连接数据库方式不是ODBC,不需注册数据库")
return 1
end if
//检查数据库是否已经注册
ll_rtn=RegistryGet("HKEY_current_user\Software\ODBC\ODBC.INI\ODBC Data Sources","modeldb.accdb",RegString!,ls_driver)
IF ll_rtn=1 THEN
f_log(ls_db_name+"数据库已经注册,不需要再注册")
RETURN 2
ELSE
f_log(ls_db_name+"数据库没有注册,准备注册")
END IF
//取得数据库驱动程序的路径
ll_rtn=RegistryGet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb, *.accdb)","driver",RegString!,ls_driver)
IF ll_rtn=-1 THEN
Messagebox("错误","应用程序无法获取Windows的系统目录,系统统将终止运行!",Stopsign!)
f_log("应用程序无法获取Windows的系统目录,系统统将终止运行!")
RETURN -1
END IF
//添加数据源
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\ODBC Data Sources',ls_ds_name,RegString!,'Microsoft Access Driver (*.mdb, *.accdb)')
IF ll_rtn=-1 THEN
Messagebox('错误','应用程序无法设置ODBC DATA SOURCE名称,系统将终止运行',StopSign!)
RETURN -1
END IF
//设置ODBC.INI的细节
ll_rtn=RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"driver",RegString!,ls_driver)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(driver),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(driver),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"DBQ",RegString!,ls_db_path)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(DBQ),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(DBQ),系统将终止运行")
RETURN -1
END IF
ll_rtn = RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"FIL",RegString!,'MS Access')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(MS Access),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(MS Access),系统将终止运行")
RETURN -1
END IF
ll_rtn = RegistrySet("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"UID",RegString!,'')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(UID),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(MS Access),系统将终止运行")
RETURN -1
END IF
ll_rtn = Registryset("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"DriverId",RegULong!, 25)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(DriverId),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(DriverId),系统将终止运行")
RETURN -1
END IF
ll_rtn = Registryset("HKEY_current_user\Software\ODBC\odbc.ini\" + ls_db_name,"SafeTransactions",RegULong!, 0)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(SafeTransactions),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(SafeTransactions),系统将终止运行")
RETURN -1
END IF
//设置ODBC.INI\engines子健的细节
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\' + ls_db_name,'engines',RegString!,'')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','implicitcommitsync',RegString!,'')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\implicitcommitsync),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\implicitcommitsync),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','usercommitsync',RegString!,'yes')
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\usercommitsync),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\usercommitsync),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','maxbuffersize',regulong!,2048)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\maxbuffersize),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\maxbuffersize),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','pagetimeout',regulong!,5)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\pagetimeout),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\pagetimeout),系统将终止运行")
RETURN -1
END IF
ll_rtn=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\dianlicl\engines\jet','threads',regulong!,3)
IF ll_rtn = -1 THEN
Messagebox('错误','应用程序无法设置odbc.ini(engines\jet\threads),系统将终止运行',StopSign!)
f_log("应用程序无法设置odbc.ini(engines\jet\threads),系统将终止运行")
RETURN -1
END IF
f_log(ls_db_name + "数据库注册完成")
return 1
- PB连接access数据库
- PB动态连接access
- PB中连接Access数据库的三种方法
- PB中连接Access数据库的三种方法
- PB直连access数据库
- pb连接数据库
- PB连接MYSQL数据库
- pb连接mySql数据库
- pb连接数据库代码
- PB开发笔记之连接Access(原创)
- PB连接sybase anywhere数据库
- PB如何连接mysql数据库
- PB代码连接oracle数据库
- 【PB】程序中连接数据库
- PERL连接ACCESS数据库
- jsp连接ACCESS数据库
- javascript连接access数据库
- PHP连接ACCESS数据库
- C语言关键字volatile(不知道的别说你是干嵌入式的)
- access2007 ODBC 驱动程序下载地址
- WIN7安装Ubuntu12.10以及安装后续,
- PB连接sybase anywhere数据库
- 你不知道的EcmaScript5数组方法
- PB连接access数据库
- VS2010中水晶报表应用与部署
- alloc copy assign的区别
- spoj6779 Can you answer these queries VII(gss7)动态树
- ORACLE WEBLOGIC 套件
- DELL R510网卡无故崩溃问题
- 【C++】输出流cout方法
- Vim Ctags Tlist 使用
- poj 3469