我用DELPHI连接MYSQL4.0,安装的是MYSQLODBC3.51的驱动,用ADOConnection连接mysql数据库,adocon测试连接成功了,而后我在程序中new了一个adoquery来查询表的内容,结果却报错了,提示:project project1.exe raised execption class eoleexecption with message"未指定错误"....
请问各位大侠这个问题要怎么解决了
adocon连接字串是:Provider=MSDASQL.1;Password="";Persist Security Info=True;User ID=root;Data Source=mysql我的程序代码是:
qry := TADOQuery.Create(nil);
  qry.Connection := ADOConnection1;
  qry.Close;
  with qry do
  begin
    SQL.Text := 'select * from requestuser';
    try
      Active := True;
      showmessage(qry.Fieldbyname('userid').AsString);
    finally
      FreeAndNil(qry);
    end;
  end;另外再问大侠们一个问题,我要取一条记录,这个sql要怎么写,比如sqlserver的sql是这么写:select top 1 * from requestuser 那么在mysql中要怎么写这个语句了。请各位大侠一定告诉我,
在线等

解决方案 »

  1.   

    mysql手册
    http://www.phpe.net/mysql_manual/06-4.html
    LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。至于你无法建表,估计也是因为语法问题。
      

  2.   

    改成如下:qry := TADOQuery.Create(nil);
      qry.Connection := ADOConnection1;
      qry.Close;
      qry.prepared:=false;
      with qry do
      begin
        SQL.Text := 'select * from requestuser';
        try
          prepared:=true;     
          Open; 
          showmessage(qry.Fieldbyname('userid').AsString);
        finally
          FreeAndNil(qry);
        end;
      end;
      

  3.   

    谢谢getit911 帮我解决了第二个问题,但第一个问题我还是没有解决,就是怎么用adocon+adoquery完成对表的查询和更新呢。
      

  4.   

    to ourlin 
    我用你的方法试了下,问题依旧,也是报相同的错误。
      

  5.   

    程序在执行到 open的时候就报错了,请大大帮我看看吧
      

  6.   

    你要检查一下 ADOConnection1是否保持正常连接!
      

  7.   

    还有建议尽量直接使用TQuery控件,不要在程序中Create, 如一定要那就试试如下:
    qry := TADOQuery.Create(nil);
      qry.Connection := ADOConnection1;
      qry.Close;
      qry.prepared:=false;
      with TAdoQuery(qry) do
      begin
        SQL.Text := 'select * from requestuser';
        try
          prepared:=true;     
          Open; 
          showmessage(qry.Fieldbyname('userid').AsString);
        finally
          FreeAndNil(qry);
        end;
      end;
      

  8.   

    你现在有没有出现"invaild field size"这样的错误呢?我现在正在为这问题繁呢
      

  9.   

    select top 1 * from requestuser ->select  * from requestuser limit 0 ,1====CSDN 小助手 V2.5 2006年1月18日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2