delphi自带的  db类型的

解决方案 »

  1.   

    在d6中运行时出错,怎样停止运行?  切换到delphi界面,按 ctrl+F2就可以了!
    Query.Sql.Add('select * from tsyhb.db  where UserName=AuserName');
      

  2.   

    Query:= Tquery.creat(self);  
    Query.close;
    Query.DataBaseName:= DBName;  //DBName是数据库的别名
    Query.Sql.Add('select * from tsyhb.db  with UserName=AuserName');
    query.open;另:
    1。你干吗要动态生成,干脆放一个在Form 上浮就可以了
    2。我看应该是Query.DataBaseName:= DBName;  有误
      

  3.   

    Query.Sql.Add('select * from tsyhb.db  with UserName="'+AuserName+'"');
      

  4.   

    呵呵Query:= Tquery.creat(nil);
    是动态创建一个Query,我想你可能是不懂为什么传入Nil参数,实际上当传入Nil时,Query的Owner就为Nil了,这样你就必须保证你用完这个Query后要Free它,不然他是不会被自动Free的,如果传入Application或者Self什么的也可以,那这个Query的Owner就是Application或Self了,这样即使你不Free这个Query,在它的Owner被Free时,它也会被自动Free的.
      

  5.   

    运行到最后一句出错,可能是因为你用了扩展名改为
    Query.Sql.Add('select * from tsyhb  where UserName=AuserName');

    Query.Sql.Add('select * from "tsyhb.Db"  where UserName=AuserName');
    试试吧!
      

  6.   

    呵呵,sonicer(极品瘦子) 说的也对!不然它会把AuserName当作一个字段的,而你没有这个字段,所以也会错的!
      

  7.   

    试试看:
    Query.Sql.Add('select * from "tsyhb.Db" whereUserName='+AuserName);
      

  8.   

    Query:= Tquery.creat(nil);
    Query:= Tquery.creat(self);Query:= Tquery.creat(Application);
    这3句的功能个是什么?我还清楚
      

  9.   

    我改成
    select * from tsyhb where UserName = '+ AuserName);
    之后,这局没有问题,通过了可是之后我将鼠标落在这句上,出现提示:  Query.SQL=()
    为什么?难道这句因此就不起作用了吗?
      

  10.   

    然后下面又无法执行了Query.ParamByName('UserName').AsString := AuserName;错误提示是:
    Project BookMgr.exe raised exception class EDatabaseError with message ' Parameter'UserName'not found'.Process stopped.......
    怎么改?
      

  11.   

    1.Query:= Tquery.creat(nil);  //理由同上
    2.Query.DataBaseName:= DBName;  //DBName是数据库的别名
    3.Query.Sql.Add('select * from tsyhb.db where UserName=AuserName');
        如果要将用户输入的UserName代入到SQL语句中,可以用两个办法,一个是前面提及的:
      Query.Sql.Add('Select * from tsyhb.db where UserName =' + AUserName);
      另一个方法:
      Query.Sql.Add('Select * from tsyhb.db where UserName=:UserName');
      Query.ParamByName('UserName').AsString := AUserName;
    4.“在运行到最后一句时出错.”
      表述是否有误?无论你加入什么,在执行SQL.Add()的时候程序是不应该报错的,只有在Query.Open()时,SQL语句才真正被执行,此时SQL语句中可能的错误才会暴露出来。
      

  12.   

    可是现在停在Query.ParamByName('UserName').AsString :=AUserName;了
    一直都还没有执行到Query.Open呢
      

  13.   

    在d6下出错我有个办法,不知道大家有没有试过,当你运行时出错,delphi就好象要死机的样子,你只要点击关闭delphi主窗口,会出现,debug session in programmes .terminate? 点击ok,然后在出现问你是不是要保存修改过的工程文件,点击取消,就可以了。
      

  14.   

    在d6下出错我有个办法,不知道大家有没有试过,当你运行时出错,delphi就好象要死机的样子,你只要点击关闭delphi主窗口,会出现,debug session in programmes .terminate? 点击ok,然后在出现问你是不是要保存修改过的工程文件,点击取消,就可以了。
      

  15.   

    你的query的sql中根本没有设置参数,
    Query.ParamByName('UserName').AsString :=AUserName
    当然会出错了