select * form data.db where name=:v_name 如果name是第一个字段就会出错,而是其它字段则没问题。我的数据库

  • 主题发起人 主题发起人 wy0311
  • 开始时间 开始时间
W

wy0311

Unregistered / Unconfirmed
GUEST, unregistred user!
select * form data.db where name=:v_name 如果name是第一个字段就会出错,而是其它字段则没问题。我的数据库没索引字段。(别嫌分少,我的问题还有很多) (20分)<br />如题。
 
还是建立索引吧,提高一下速度
而且用名字做主键本身也不是很好的....
 
select * form where name=:v_name
写错了?你from哪个数据库?
 
请把详细一点的源码帖出来看看
 
应该没问题的吧?你把整个这个事件(前后的代码)贴上来看看。
 
select * form where [name]=:v_name 如果是ACCESS,看一下ACCESS自动产生的SQL,应该
有帮助
NAME会不会是系统保留字

 
我又试了一下数据库是paradox7的就是这样,ACCESS的没问题。为什么呢?

query1.databasename:='d:/data';

procedure TForm1.Button1Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('select * from da.db where sort=''Delphi''');
prepare;
open;
end;
end;

提示:
Invalid use of keyword
Token:sort='Delphi'
Line Number:1.

sort是第一个字段,若是第二个字段则没问题。
 
如果delphi是非变量sql.Add('select * from da.db where sort=Delphi');
如果delphi是变量sql.Add('select * from da.db where sort="'+Delphi+'"');
 
sort字段名可能不行,把这个字段换成别的名字。
 
我试过了,如果是 :
sql.add('select * from da.db where sort=Delphi');
则错误提示的第二行为:Token:sort=Delphi
 
sort是关键字。
 
哦,对了,我把字段名改成sort_1后就行了。
但我奇怪的是为什么ACCESS的数据库就没问题呢?还是sort啊!
 
多人接受答案了。
 
后退
顶部