gpt4 book ai didi

mysql - TADOConnection 检查不正确的凭证

转载 作者:行者123 更新时间:2023-11-29 12:25:34 24 4
gpt4 key购买 nike

我正在使用以下连接字符串:

ADOConnection1.ConnectionString := 'Driver={MySQL ODBC 3.51 Driver};' +
'Server=db4free.net;Port=3306;' +
'Database=inventmanager;' +
'User=' + eUser.text + ';Password=' + ePass.Text +
';Option=3;';

eUser 和 ePass 是主表单上的 TEdit。

执行时:

ADOConnection1.Connected := true;

他们是否有一种方法来测试凭据是否不正确,然后显示 MessageDlg?

最佳答案

当凭据无效时,MySQL 服务器返回错误 1044 SQLSTATE: 42000 (ER_DBACCESS_DENIED_ERROR) 。不幸的是,当凭据无效时,MySQL ODBC 驱动程序不会检索特定的错误代码,而是返回通用的 80004005 错误代码。因此,最好的选择是解析消息字符串并搜索用户拒绝访问字符串。

try
...
...
ADOConnection1.Connected:=True;
except
on e: EOleException do
begin
if Pos('Access denied for user', e.Message)>0 then
ShowMessage('Invalid Credentials')
else
ShowMessage(Format('ErrorCode %x Message %s Source %s',[e.ErrorCode, e.Message, e.source]));
end;
end;

关于mysql - TADOConnection 检查不正确的凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28382558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com