关于Data Module 的问题
在程序中新建了个 Data Module 窗体,里面加了个ADOConnection1,在DataModuleCreate事件中加了一个“ADOConnection1.ConnectionString。。。。”语句连接数据库。
请问在其他窗体中创建时判断如果 ADOConnectiong 成功连接数据库则提示成功信息,如果不能连接到数据则提示失败信息,该如何处理?
问题点数:0、回复次数:13Top
1 楼DoerSoft()回复于 2005-06-05 00:03:11 得分 0
用异常就好了嘛,弹出一个对话框就OK了.
try
adoconnection.connectionstring:= '...';
adoconnection.connected:= true;
MessageBox('OK');
exception
On E:Exception do
MesasgeBox(e.message);
...
end;
Top
2 楼GooderJump(GooderJump)回复于 2005-06-05 13:56:57 得分 0
没错,用异常即可Top
3 楼Earthnut(*)回复于 2005-06-05 14:17:05 得分 0
同意上面的.Top
4 楼jimu8130(火箭的未来在哪里?)回复于 2005-06-05 14:41:10 得分 0
还得注意在application里面datamodule的创建要优于其他unitTop
5 楼javafelia(学以致用)回复于 2005-06-05 14:53:47 得分 0
使用函数:
function TDataModule2.CheckConnected: integer;
begin
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Example;Data Source=FELIA';
Try
ADOConnection1.Connected := True;
result := 1;
Except
result := 0;
end;
end;Top
6 楼comanche(太可怕)回复于 2005-06-05 18:52:15 得分 0
楼上兄弟们搞错了吧, DataModule 在 Application 建立时的异常是出不来的,
我一般在 DataModule.Create 中写 ConnectionString
在 MainForm.OnCreate 中写
Application.ShowMainForm := false;
try
初始化, 你那句 DataModule.Connection.Connectied := true 写在这
Application.ShowMainForm := true;
except
on e: Exception do
begin
Application.MessageBox(e.Message, SHint, MB_ICONWARNING + MB_OK);
PostQuitMessage(-1);
end;
end;Top
7 楼wooernet(林)回复于 2005-06-05 20:18:57 得分 0
try
ADOConnection1.Connected:=True;
show ok
except
show errorTop
8 楼racesun(夸父)回复于 2005-06-05 21:57:41 得分 0
看来已经解决了。Top
9 楼jjdown()回复于 2005-06-06 10:10:10 得分 0
to: javafelia(学以致用)
我是使用你的函数方法,在mainform里调用CheckConnected函数,语句如下:
if DataModule.CheckConnected =1 then
begin
showmessage('连接成功');
end
else
showmessage('连接失败');
当我将网线拔开时,并没有提示“连接失败”,接上网线就能正常提示“连接成功”,这是什么问题?Top
10 楼DELPHI__CRM(风雨无阻)回复于 2005-06-06 13:16:26 得分 0
当我将网线拔开时,并没有提示“连接失败”,接上网线就能正常提示“连接成功”,这是什么问题?
那是因为你是指定的字符串!当然它就判断你给出的是否正确
又不是动态指定的
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Example;Data Source=FELIA';Top
11 楼jjdown()回复于 2005-06-06 13:28:26 得分 0
to DELPHI__CRM(风雨无阻):
那么应该如何写?Top
12 楼DELPHI__CRM(风雨无阻)回复于 2005-06-06 13:30:22 得分 0
Data Source=FELIA'
可以指定为本机local
或者你机子上运行的服务器名称
Data Source=Local\FELIA'
Top
13 楼magicfire(岩岩)回复于 2005-06-06 13:45:07 得分 0
学习。。。Top




