给位高手,帮忙看看如下问题。就是Delphi 的一个条件查询,运行时总提示“A”列名无效,怎么个情况???With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' Select * From 客房信息表');
SQL.Add(' Where 配置 = A'); Open;
end;若写成:SQL.Add(' Where 配置:= A'); 则提示“配置:”附近语法错误求高手们帮看看,感谢~~~~~~~~
另外,请教一下,add()里面时常遇到引号的问题,能否告知这个引号怎么用呢
e.g:SQL.Add(' Where 配置= '''+edit1.text+''''); 这引号有什么意义?
begin
Close;
SQL.Clear;
SQL.Add(' Select * From 客房信息表');
SQL.Add(' Where 配置 = A'); Open;
end;若写成:SQL.Add(' Where 配置:= A'); 则提示“配置:”附近语法错误求高手们帮看看,感谢~~~~~~~~
另外,请教一下,add()里面时常遇到引号的问题,能否告知这个引号怎么用呢
e.g:SQL.Add(' Where 配置= '''+edit1.text+''''); 这引号有什么意义?
begin
Close;
SQL.Clear;
SQL.Add(' Select * From 客房信息表 where 配置 = :para1');
Parameters.ParamByName('para1').Value := 'A';
open;
end;
-------------------------A是字符类型,B是整型,正确的写法是这样:
select * from t where A='张三' and B=100下面这样也是对的,SQL会自动转换
select * from t where A=10 and B='100'但不能是下面这样:A和B条件都是错的;张三会当成字段名处理(此字段不存在),而李四则不能转换成整型
select * from t where A=张三 and B='李四'
2.用 QuotedStr函数,返回带引号的字符
3.用Parameters.ParamByName传参(据说这种方式在Oracle中效率最高),但据我遇到的,在group by语句中无法使用此方式,至今未解决,查了很多资料,都说是ADO的问题。