因为数据库拒绝一切自称老大的任务访问 adoqury1.sql.text := 'select * from tablename where 姓名=''小鼠弟'''; 设计期select * from tablename where 姓名='小鼠弟'请大家去 http://www.new7wonders.com/c/voting.php 投长城一票
缺少表名 select * from 表名 where 姓名=‘胡老二’
select * from 表名 where 姓名=‘XXX’;
select * from 表名 where 姓名=‘江老大’ 再SQL statement里面字符串是用单引号
adoqury1.sql.text := 'select * from tablename where 姓名=''小鼠弟''';
设计期select * from tablename where 姓名='小鼠弟'请大家去 http://www.new7wonders.com/c/voting.php 投长城一票
select * from 表名 where 姓名=‘胡老二’
再SQL statement里面字符串是用单引号
query1.sql.add('insert into onetable(f1,f2) values ("text1","text2");
query1.execsql;
可以通过; 在Ado中: adoquery1.sql.add('insert into onetable(f1,f2) values ("text1","text2");
adoquery1.execsql; 就不行了! 原因是OLE-DB底层不支持形如:"xxword"的字符串的因此必须用 'xxword'形式的字符串.把上面的语句改为: var
str_sql:string;
str_sql:='insert into onetable(f1,f2)values("text1","text2")';
str_sql:=stringreplace(str_sql,'"',#39,[rfreplaceall]);
adoquery1.sql.add(str_sql);
adoquery1.execsql; 这样就可以胜利运行了。
肯定还有其它问题,不知道在D6版中有没有改进!
兄弟,以后这样的问题最好是想一下再贴!
最好是用英文做字段名
或
select * from 姓名 like '江老大%'
select * from 标名 where 姓名=:str
parameters.parambyname('str').value:-江老大;