向高手请教!有关ado连接oracle数据库的问题?

dzy983 2002-04-12 08:14:15
我用adoconnection连接oracle数据库,怎么判断它是连接成功还是失败呢?就是说有没有像pb那样有返回值的,如:返回0代表连接成功,而100则代表失败等!请高手经以指点帮助。
...全文
49 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weizhi 2002-04-14
  • 打赏
  • 举报
回复
呵呵,GetDbParams(); 是自写的一个从注册表中读参数的函数,其返回值就是个联接串,比如:
'Provider=MSDAORA.1;Password=lyxt;User ID=lyxt;Data Source=orcl;Persist Security Info=True'
你可以改为
strConn := 'Provider=MSDAORA.1;Password=lyxt;User ID=lyxt;Data Source=orcl;Persist Security Info=True';
当然,串中的user ID和Password,DataSource等部分也要改为你自己的


Log_ADO.WriteLog()也是自己的写日志的程序,你可以去掉这一行,将信息Show到屏幕上,比如可改为:
ShowMessage('出错函数:InitADOConnection(),错误信息:' + E.Message);
dzy983 2002-04-13
  • 打赏
  • 举报
回复
to:weizhi(行者)
GetDbParams(); 与Log_ADO.WriteLog不明白意思?是不是有关它们的代码还没贴出来啊!
weizhi 2002-04-13
  • 打赏
  • 举报
回复
呵呵,可以自己写个函数呀,如下:
function InitAdoConnection(Conn: TADOConnection): Boolean;
var
strConn: String;
begin
Result := False;
strConn := GetDbParams(); //自编的从注册子表中读数据库连接串的函数
with Conn do
begin
ConnectionString := strConn;
LoginPrompt := False;
Mode := cmReadWrite;
ConnectionTimeOut := 60;
CommandTimeOut := 60;
try
Connected := True;
except
// 无法打开数据库, 错误码信息写入日志文件
On E: Exception do
begin
Log_ADO.WriteLog('出错函数:InitADOConnection(),错误信息:' + E.Message); //自编的日志对象
end;
end;
Result := Connected;
end;
end;

end;

cz3w 2002-04-13
  • 打赏
  • 举报
回复
可在数据连接后加上胖断:
adoconnection1.active:=true;
if adoconnection1.active = false then
begin
showmessage(....);
end;
yangkunjie 2002-04-12
  • 打赏
  • 举报
回复
和sql差不多,照着写的了
human_2 2002-04-12
  • 打赏
  • 举报
回复
try
adoconnection1.active:=true;
except
showmessage(e.message);
end;

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧