简单的SQL语句的问题(50分)

  • 主题发起人 主题发起人 gwdb
  • 开始时间 开始时间
G

gwdb

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个表,其中有一个字段为PASSWORD,当我在在Delphi中执行以下SQL语句时出错
PASSWORD 类型为char(15)
Query1.Close;
Query1.Unprepare;
Query1.SQL.clear;
Query1.SQL.ADD('select * from mytable where PASSWORD = "aa"');
Query1.open;
错误提示为:
Invalid use of keyword.
Token :PASSWORD
是不是Delphi对于PASSWORD字段不支持??
谁有什么办法解决?
 
SQL语句有DBMS解释执行,于DElphi无关,是不是把两个单引号写成
双引号了
 
tan_jian:
不是单引号或者双引号的问题,只要这个字段为PASSWORD,就不行,
但是相同的语句在sybase的client端执行上执行是没有问题的
 
你可能没安装Delphi补丁,装上再试试,我也送到过类似问题
 
alan_longwin:
请问要装那个补丁啊?
 
括号里面不能用双引号,password是不是保留字.
建议改为
with Query1 do
begin
Close;
prepare;
SQL.clear;
SQL.ADD('select * from mytable where Pws=''aa''');
open;
end;
我有时在处理那些引号时,记住两点代表1点.
 
同意bswilson,试一试吧[:)]
 
bswilson:
我要查询的字段名是PASSWORD而不是Pws,如果是其他的的名字那就没有问题了
也许PASSWORD是Delphi的保留字段吧,但是应该有办法解决的,现在就不知道啊
 
建议改数据库表中的字段名!
 
cooler168:
可是表已经是在存在的,改表结构是不可能的啦,大家有没有其他的办法?
 
Query1.SQL.ADD('select * from mytable where mytable."PASSWORD" = "aa"');
测试通过!
 
203010:
我试了你的方法,现在可以了。谢谢,另外你可以再告诉我对于DBF表
那这个语句怎么写?
 
接受答案了.
 
后退
顶部