sql.Add('select * from brda where name=:Name'); fieldbyname('Name').values :='No Name';
我在查询名称为‘No Name’的记录,如果有的话
楼上的没有找到问题的实质: 在SQL语句中,Name是保留字,所以 sql.Add('select * from brda where [name]=''No Name''');
如果是想查找‘No Name’的记录,那么可以写成 var SQLStr : String; begin SQLStr := 'select * from brda where name=' + QuotedStr('No Name') adoquery1.SQL := SQLStr end;
To: li_zhifu(东北人) 老乡啊!不是关键字的原因,我曾用了别的名,也不好使
表里面有没有这个字段啊? 先把where后面的去掉看看查询结果再说.
在查询分析器里先试试看,句子本身没问题,name不是保留字
企业管理器中“工具|SQL查询分析器”
brda表的结构: 自动编号 newDate sampleNo name sex .....代码: with dbform.dqjczsave do begin close; sql.Clear; sql.Add('select * from brda where name=''No Name'''); open; if recordcount>0 then begin ...
1、确认有这样的记录存在,用查询分析器 2、TADOQuery的RecordCount有时是不灵的,对于某些后台来说其值永远是-1,建议用 if ADOQuery1.Eof and ADOQuery1.Bof then//说明无相应记录 来判断
fieldbyname('Name').values :='No Name';
在SQL语句中,Name是保留字,所以
sql.Add('select * from brda where [name]=''No Name''');
var
SQLStr : String;
begin
SQLStr := 'select * from brda where name=' + QuotedStr('No Name')
adoquery1.SQL := SQLStr
end;
自动编号 newDate sampleNo name sex .....代码:
with dbform.dqjczsave do
begin
close;
sql.Clear;
sql.Add('select * from brda where name=''No Name''');
open;
if recordcount>0 then
begin
...
2、TADOQuery的RecordCount有时是不灵的,对于某些后台来说其值永远是-1,建议用
if ADOQuery1.Eof and ADOQuery1.Bof then//说明无相应记录
来判断