pb9不支持sql2000以上版本的数据库直连。因此要连接2000以上的版本必须用odbc。
windows下的odbc管理器打开方式:窗体键+R 调出运行对话框 输入 odbcad32 确定弹出odbc管理器如图:
这里选择用户dsn和系统dsn都可以,点击添加:如图:
选择SQL server Native Client 这一项,如果在你的选项中没有,就要用SQLserver的安装光盘进行安装数据源了。
在2005中运行安装程序:选择安装——连接工具——sql native 10 (没做过实验步骤可能有出入)。
在2008中进行全新安装走到功能选择的步骤时看是否有相关选项未选。不能选添加功能只能走全新安装。(方法未经验证)。
点击完成如图:
点击“ 两个 ”下一步如图:
第一项选中后选择需要的数据库,下一步而后完成。完成后还会弹出一个对话框可以测试连接是否成功。
创建完odbc数据源后,打开pb9,在面板中选择DB profile如图:
弹出对话框,在ODB ODBC选项上右键选择new profile如图,在datasource的下拉列表中我们将看到之前创建的odbc数据源:
userid 和 password可以不填去掉前面的对号。
Driver-Specific paramaters:可以随意填写。Apply 后 点击上面的 preview标签如图:
复制窗口中的内容复制到需要连接数据库的地方。注意,如果是自己写sqlca,如果你自己写的sqlca的各个属性与该窗体中的内容不同的话,会出现两种情况。
如果SQLCA.DBMS='ODBC'这句是对的,而其他的不对,则每次连接数据库都会弹出一个 数据源选择对话框。
如果SQLCA.DBMS=“*****” 如果****中的内容没有填写ODBC则会连接数据库失败。
代码如下:
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=2pbconn2008;ODBC'"
connect using SQLCA; //注意 这句必须加分号
if sqlca.sqlcode < 0 then
MessageBox("提示信息", "连接数据库失败"+sqlca.sqlerrtext, exclamation!) //exclamation!这个参数是改变弹出框提示图标的。
halt
end if
string testStr
select val into :testStr from t_glb where mk = 'xtgl_today' //t_glb表明, mk是列名, xtgl_today是mk字段下的一个值。
using SQLCA; //注意分号
sle_1.text = testStr
连接成功,testStr的值从数据库取出并赋给了sle_1控件的text。