delphi连接mysql问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 18:46:05
我是这样写的:
con1.ConnectionString:='driver={mysql odbc 3.51 driver};server='+dz+';database='+sjk+';USER='+zh+';password='+mm+';OPTION=3';

查询:
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('select * from account where name='''+ok.Strings[1]+''' and password='''+ok.Strings[2]+'''');
ExecSQL;
end;

请问一下,为什么上面的那个查询语句在有的mysql可以查出数据,有的却查不出来,说明一下,要查的那个数据是存在的。然后我打开他的mysql输入查询语句,发现不能使用上面的查询语句查结果的mysql用'select * from account where name='''+ok.Strings[1]+''''这个语句可以查出来,要是查符合两个条件的查询却查不出来,这是什么原因?

另外对delphi来说什么组件来对mysql操作最好,我在网上查了很多关于连接mysql的资料,发现一个问题,连接mysql的信息都没有写mysql3306那个端口
的信息,如果设置连接端口3306应该怎么写请大家帮忙,谢谢

语法没错,你查不出来的那个是他的机器安装了至少2种版本以上的odbc引起的。

1,con1.ConnectionString:=PromptDataSource(0,con1.connectionstring)
2,查询需要返回值,用OPEN;不需要返回值,用ExecSQL;