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='李四' [解决办法] 1.用转义符,单引号之前再加一个单引号 2.用 QuotedStr函数,返回带引号的字符 3.用Parameters.ParamByName传参(据说这种方式在Oracle中效率最高),但据我遇到的,在group by语句中无法使用此方式,至今未解决,查了很多资料,都说是ADO的问题。