关于SQL(50分)

  • 主题发起人 主题发起人 张智
  • 开始时间 开始时间

张智

Unregistered / Unconfirmed
GUEST, unregistred user!
我的表里有一个字段名为hint,Type为A。
我写这样的代码:statusbar1.Panels[1].text:=query1.parambyname('提示').asstring;
报错,提示:paramter 'hint' not found
但我改成这样:statusbar1.Panels[1].text:=query1.fieldbyname('提示').asstring;
就没问题。
这是为什么?
还有,当我用:
query1.sql.clear;
query1.sql.Add('update ibook set 次数=10');
query1.execsql;
结果所有记录的'次数'字段都改成了10,如果我只想更改当前的记录,应该怎么写?
 
1 你的QUERY里没这个参数么
2 加上 WHERE 条件
 
query1.sql.Add('update ibook set 次数=10 where 条件');
 
当前记录的话就真接修改,那个字段的值那就可以咯。。。不要用到UPDATE
 
楼上的说的对,多看看SQL基本语句的使用。
 
第一,在TDataSet包括TQuery,TTable,TADOTable,TADOQuery,TClientDataSet中,Field
和param是两种东东,Field是字段,Param是参数
第二,Sql语句中Update 或者Delete如果不加 Where 条件都是对表中所有记录操作,
简单点你可以这样:
Query1.close;
Query1.RequestLive:=true;
Query1.open;
{以上代码可以在设计期间改Query1的RequestLive属性}
Query1.edit;
Query1.FieldbyName('iBook').AsString='10';
Query1.post;
 
你刚学delphi吧?
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
939
DelphiTeacher的专栏
D
D
回复
0
查看
893
DelphiTeacher的专栏
D
D
回复
0
查看
865
DelphiTeacher的专栏
D
后退
顶部