打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Delphi数据库编程技巧
1.如何动态设置BDE别名
这个问题其实是考察程序员对BDE的TSession组件的熟悉程度,一个数据库程序的建立,即使你没有显式的添加TSession组件,系统中依然存在一个名字为Session的TSession对象,你可以在任何位置调用该对象的方法和属性。TSession类的很多方法可以帮助我们的应用程序获取系统BDE环境,下面介绍一个代码片断用以添加一个BDE别名:
示例:新建应用程序,添加bde/Tsession组件和按钮button1
procedure TForm1.Button1Click(Sender: TObject);
var
BDEList:TStringList ;
begin
BDEList := TStringList.Create () ;
try
Session.GetAliasNames(BDElist) ; // 获取系统所有BDE别名列表
if BDEList.IndexOf('DragonPC')= -1 then
begin // 如果没有我们的BDE别名"DragonPC"
BDEList.Clear ;
BDEList.Add('SERVER NAME=' + 'SQLServerName'); // 数据库服务器名称
BDEList.Add('DATABASE NAME=master') ; // 默认数据库
BDEList.Add('USER NAME=sa'); // 用户名
Session.AddAlias('DragonPC', 'MSSQL', BDEList) ; // 添加一个MSSQL类型的BDE别名
ShowMessage('系统即将建立BDE别名!') ;
Session.SaveConfigFile() ; // 存储BDE配置
end;
finally
BDEList.Free ;
end;
end;
2.如何动态设置ODBC源
很多时候程序员需要自动生成ODBC数据源,而不是指导客户"打开控制面板… … ",到底如何去做呢?
SQLConfigDataSource这个函数MSDN有详细的说明,我不想整段翻译下来让你扁我,我只是结合流行的SQL Server谈谈如何有技巧的调用该函数。其它的数据库大同小异。
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,''SQL Server'',
''DSN=Record_ODBC''+ chr(0) +
''Server=(local)''+ chr(0) +
''Database=master''+ chr(0) +
''Description=DragonPC SQLServer ODBC Source''+ chr(0));
这是我的Delphi程序中调用该函数的一个实例,第一个参数是父窗口句柄,设置为0则该函数不显示任何对话框。第二个参数是操作类型,你需要定义如下的操作类型常量:
Const
ODBC_ADD_DSN = 1; // Add a new user data source.
ODBC_CONFIG_DSN = 2; // Configure (modify) an existing user data source.
ODBC_REMOVE_DSN = 3; // Remove an existing user data source.
ODBC_ADD_SYS_DSN = 4; // Add a new system data source.
ODBC_CONFIG_SYS_DSN = 5; // Modify an existing system data source.
ODBC_REMOVE_SYS_DSN = 6; // Remove an existing system data source.
程序示例:新建一个delphi 应用程序,添加一个按钮button2,代码如下:
//定义常量
Const
ODBC_ADD_DSN = 1; // Add a new user data source.
ODBC_CONFIG_DSN = 2; // Configure (modify) an existing user data source.
ODBC_REMOVE_DSN = 3; // Remove an existing user data source.
ODBC_ADD_SYS_DSN = 4; // Add a new system data source.
ODBC_CONFIG_SYS_DSN = 5; // Modify an existing system data source.
ODBC_REMOVE_SYS_DSN = 6; // Remove an existing system data source.
//自定义函数
function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL';
//调用函数
procedure TForm1.Button2Click(Sender: TObject);
begin
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=Record_ODBC'+ chr(0) +'Server=(local)'+ chr(0) +'Database=pubs'+ chr(0) +'Description=DragonPC SQLServer ODBC Source'+ chr(0));
end;
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
几种注册ODBC数据源的方法
用VC++实现ODBC数据源设置 - VC教程 - CND8学院
使用SqlConfigDataSource实现ODBC数据源配置
win7下添加ODBC数据源
经典ASP代码集合(ZZ)
QT连接SQL Server(ODBC)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服