pb9 通过ole db连接sqlite3数据库

sqlite3数据库,简单而功能强大,比起ini文件保存用户设置,更简单安全,为什么使用数据库存用户设置,由开发者自己去想吧

进入话题:

pb中可以用ole DB方式在不注册odbc的情况下直接连接数据库,下面直接给出代码,供有需要的参考

一、下载sqliteodbc.exe,具体下载位置,直接到网上搜索一下,其实只是需要里面的一个sqlite3odbc.dll这个文件

二、在PB中打开Database Profiles配置选项

Provider选择MSDASQL

Extended Properties:Driver=SQLite3 ODBC Driver;Database=D:\workSpace\PB\Penavicoqd\cfg.db;PassWord=

注意在没有安装sqliteodbc的情况下,必须手工注册SQLite3 ODBC Driver项值

如下图



// Profile cfg
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='MSDASQL',PROVIDERSTRING='Driver=SQLite3 ODBC Driver;Database=D:\workSpace\PB\Penavicoqd\cfg.db;PassWord='"


自动注册SQLite3 ODBC Driver

public function boolean pub_f_put_sysvar (string as_varcode, any aa_varvalue);//Public function pub_f_put_sysvar (string as_varcode,any aa_varvalue) returns boolean 
//string as_varcode
//any aa_varvalue

RETURN pub_f_put_sysvar(as_varcode,aa_varvalue,TRUE)

end function

public function boolean of_regedit_driver (string as_path);//String val[]
String val
String key
key = "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQLite3 ODBC Driver"
//if RegistryGet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI", "SQLite3 ODBC Driver",RegMultiString!,val)<> 1 then
	If RegistryGet ( key, "Driver", 		RegString!, val ) <> 1 Then
		if RegistrySet( key,	 "Driver", RegString!, as_path+"\sqlite3odbc.dll") <> 1 then Return False
	end if
	If RegistryGet ( key, "Setup", 		RegString!, val ) <> 1 Then
		if RegistrySet( key, "Setup", RegString!, as_path+"\sqlite3odbc.dll") <> 1 then Return False
	end if
//end if

Return True
end function
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值