如何用Delphi发布用Odbc连接的数据库应用程序?急!急!200分!!!(200分)

  • 主题发起人 主题发起人 lvjianshe
  • 开始时间 开始时间
抱歉抱歉!!!忘了声明常数了:
const
ODBC_ADD_DSN = 1; // ' Add data source
ODBC_CONFIG_DSN = 2; // ' Configure (edit) data source
ODBC_REMOVE_DSN = 3 ;// ' Remove data source
 
cakk:
感谢你倾力帮助,你的提议已经很接近答案了,不过
再问一个小小问题:
我先使用一个database使aliasname为空,在formcreate
调用addaccessodbc或者在项目单元的初始化前调用都不行,
该如何调用呢?

to all:感谢各位的参与和帮助!!
 
你是用的什么控件? 你不是不用BDE吗? 那么你应该使用ODBC Express或ODBC98
控件来直接和ODBC连接,以ODBC Express为例:

再给你写一个函数,检测一个DSN是否存在
function IsExistsODBC(SourceName:string):boolean;
var REG:TRegistry;
DSN:string;
begin
REG:=TRegistry.Create;
reg.OpenKey('Software/ODBC/ODBC.INI/ODBC Data Sources',true);
DSN:=REG.ReadString(SourceName);
result:=(DSN<>'');
reg.free;
end;

在窗口上放一个HDBC控件(包含在ODBC Express里面的),name:=hdbc1

hdbc1.DataSource :='';
//先清空DataSource属性,DataSource相当于BDE的别名

if not IsExistsODBC('richbbs') then //如果不存在DSN
if not AddAccessODBC('richbbs','./delphibbs.mdb','大富翁论坛数据库','') then
//如果添加DSN不成功
begin
application.messagebox('无法创建ODBC数据源!','大富翁阅读器',mb_iconerror);
exit;
end;

hdbc1.Disconnect; //断开连接
hdbc1.DataSource:='richbbs'; //用DSN名字赋值
hdbc1.Connect; //连接
 
pxlei: 你老说"xi"是什么意思?
 
cakk:
本来我是使用面板的控件组的,目前还未使用odbc98控件组,
是否所有的delphi的dataaccess 和
datacontrols都要更换,哪儿有这控件组?

 
用ODBC Express或ODBC98,他有自己的TTable, Tqury,
其他的datacontrol不用换,一样可以使用.
你可以把ODBC的TTable, TQuery当成普通的TTable,TQuery来用.

"大富翁练功场"有下载.
 
cakk:
"大富翁练功场"连了好几次都连不上,其他地方还有吗?
 
to cakk:
如果不改变现有的delphi的table和query控件,用你的函数
能不能做到动态增加数据源呢和发布?
谢谢!!
 
这我就不知道了,其实我基本没用过BDE. :-(

lvjianshe:给我来信,我给你发一个吧! cakk2000@163.net
 
cAkk:
我的信已送出!
 
老大,用 WISE 吧,哪那么麻烦?或者用ISE CUSTOM EDITION
 
吕建设: 我的信也已送出!!
 
接受答案了!
感谢各位的热情参与,特别是cAkk的奉献!
 
那就给分吧! :-)~~~~~
 
不好意思,上次给分没成功!这次该成了吧。
 
用Delphi做数据库安装程序真麻烦,真折腾人,也没有结果!
 
后退
顶部