请解释一下代码Delphi6 delphi自带的 db类型的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在d6中运行时出错,怎样停止运行? 切换到delphi界面,按 ctrl+F2就可以了!Query.Sql.Add('select * from tsyhb.db where UserName=AuserName'); 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; 有误 Query.Sql.Add('select * from tsyhb.db with UserName="'+AuserName+'"'); 呵呵Query:= Tquery.creat(nil);是动态创建一个Query,我想你可能是不懂为什么传入Nil参数,实际上当传入Nil时,Query的Owner就为Nil了,这样你就必须保证你用完这个Query后要Free它,不然他是不会被自动Free的,如果传入Application或者Self什么的也可以,那这个Query的Owner就是Application或Self了,这样即使你不Free这个Query,在它的Owner被Free时,它也会被自动Free的. 运行到最后一句出错,可能是因为你用了扩展名改为Query.Sql.Add('select * from tsyhb where UserName=AuserName');或Query.Sql.Add('select * from "tsyhb.Db" where UserName=AuserName');试试吧! 呵呵,sonicer(极品瘦子) 说的也对!不然它会把AuserName当作一个字段的,而你没有这个字段,所以也会错的! 试试看:Query.Sql.Add('select * from "tsyhb.Db" whereUserName='+AuserName); Query:= Tquery.creat(nil);Query:= Tquery.creat(self);Query:= Tquery.creat(Application);这3句的功能个是什么?我还清楚 我改成select * from tsyhb where UserName = '+ AuserName);之后,这局没有问题,通过了可是之后我将鼠标落在这句上,出现提示: Query.SQL=()为什么?难道这句因此就不起作用了吗? 然后下面又无法执行了Query.ParamByName('UserName').AsString := AuserName;错误提示是:Project BookMgr.exe raised exception class EDatabaseError with message ' Parameter'UserName'not found'.Process stopped.......怎么改? 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语句中可能的错误才会暴露出来。 可是现在停在Query.ParamByName('UserName').AsString :=AUserName;了一直都还没有执行到Query.Open呢 在d6下出错我有个办法,不知道大家有没有试过,当你运行时出错,delphi就好象要死机的样子,你只要点击关闭delphi主窗口,会出现,debug session in programmes .terminate? 点击ok,然后在出现问你是不是要保存修改过的工程文件,点击取消,就可以了。 在d6下出错我有个办法,不知道大家有没有试过,当你运行时出错,delphi就好象要死机的样子,你只要点击关闭delphi主窗口,会出现,debug session in programmes .terminate? 点击ok,然后在出现问你是不是要保存修改过的工程文件,点击取消,就可以了。 你的query的sql中根本没有设置参数,Query.ParamByName('UserName').AsString :=AUserName当然会出错了 delphi 的报表--饼图 关于sleep函数的问题! 用LockWindowUpdate锁定屏幕后创建MDI子窗体时,子窗体依然闪烁(刷新),奇怪!? 怎么获得控件的屏幕坐标? 小问题?!~~~ Dll的问题请教高手! 计算机专业学生行将毕业,我该学些什么呢?困惑...... 我想汇集一批颇有开发实力、人品好、讲义气的软件精英,我有许多企业信息管理系统等待开发,请符合条件的朋友与我联系 怎样直接在查询结果中修改 网页自动获取数据,存入数据库问题 本人自己编写的两个简单的类。创建时没有问题,为什么在释放时出现错误提示。大家帮我看看 使用access的优点thanks all,bow
Query.Sql.Add('select * from tsyhb.db where UserName=AuserName');
Query.close;
Query.DataBaseName:= DBName; //DBName是数据库的别名
Query.Sql.Add('select * from tsyhb.db with UserName=AuserName');
query.open;另:
1。你干吗要动态生成,干脆放一个在Form 上浮就可以了
2。我看应该是Query.DataBaseName:= DBName; 有误
是动态创建一个Query,我想你可能是不懂为什么传入Nil参数,实际上当传入Nil时,Query的Owner就为Nil了,这样你就必须保证你用完这个Query后要Free它,不然他是不会被自动Free的,如果传入Application或者Self什么的也可以,那这个Query的Owner就是Application或Self了,这样即使你不Free这个Query,在它的Owner被Free时,它也会被自动Free的.
Query.Sql.Add('select * from tsyhb where UserName=AuserName');
或
Query.Sql.Add('select * from "tsyhb.Db" where UserName=AuserName');
试试吧!
Query.Sql.Add('select * from "tsyhb.Db" whereUserName='+AuserName);
Query:= Tquery.creat(self);Query:= Tquery.creat(Application);
这3句的功能个是什么?我还清楚
select * from tsyhb where UserName = '+ AuserName);
之后,这局没有问题,通过了可是之后我将鼠标落在这句上,出现提示: Query.SQL=()
为什么?难道这句因此就不起作用了吗?
Project BookMgr.exe raised exception class EDatabaseError with message ' Parameter'UserName'not found'.Process stopped.......
怎么改?
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语句中可能的错误才会暴露出来。
一直都还没有执行到Query.Open呢
Query.ParamByName('UserName').AsString :=AUserName
当然会出错了