我想尝试用我的 Delphi
应用程序连接 MySQL
数据库。
我正在使用 dbXpress
组件 TSQLConnection
。
当我尝试使用图形组件并测试它是否可以连接数据库时。 它与使用对象检查器选项有关。
但是当我尝试使用该代码时,我收到错误消息,显示为Unknown MYSQL server host 'ServerName'(11001)。
我无法从 google uncle 那里得到正确的解决方案。
谁能告诉我我的代码有什么问题?
下面是我的代码。
Conn := TSQLConnection.Create(nil);
try
conn.DriverName:= 'MySQL';
conn.Params.Add('HostName=127.0.0.1');
conn.Params.Add('Database=test1');
conn.Params.Add('UserName=root');
conn.Params.Add('Password=test');
conn.LoginPrompt := false;
try
conn.Connected := true;
ShowMessage('Database connected');
Except
on E:exception do
ShowMessage(E.Message);
end;
finally
if Conn.Connected then
Conn.Connected := false;
FreeAndNil(Conn);
end;
如果需要更多信息,请告诉我。
提前致谢。
最佳答案
conn.Params
列表已经使用预先存在的值传播。因此你不应该.add()
你的配置给它,而是改变当前的Params
。
所以,而不是使用
conn.Params.Add('HostName=127.0.0.1'); // wrong - should update, not add
conn.Params.Add('Database=test1'); // wrong - should update, not add
conn.Params.Add('UserName=root'); // wrong - should update, not add
conn.Params.Add('Password=test'); // wrong - should update, not add
使用
conn.Params.Values['HostName'] := '127.0.0.1';
conn.Params.Values['Database'] := 'test1';
conn.Params.Values['UserName'] := 'root';
conn.Params.Values['Password'] := 'test';
关于mysql - 未知的 MYSQL 服务器主机 'ServerName' (11001),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49935382/