关于delphi存取access2002中的一个问题(0分)

  • 主题发起人 主题发起人 heyong3
  • 开始时间 开始时间
H

heyong3

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个简单的程序,用adoconnection 通过odbc连接access2002数据库tt
dbgrid1能显示adoquery1返回(select * from 租房表)得数据

procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do begin
close;
sql.clear;
sql.Add('select * from 租房表');
sql.add('where 套型="'+edit1.text+'"');
open;
end;
end;

end.

在执行时发生以下错误:
odbc ms access驱动程序参数不足,期待是1
请高手指教!
 
ODBC数据源(DSN)设置正确没有?
 
//sql.add('where 套型="'+edit1.text+'"');
1.用sql.add('where 套型='+''''+edit1.text+''''')试试.
2.建议表名与字段名不要用中文.
 
该句话sql.add('where 套型="'+edit1.text+'"');
生成的sql语句: where 套型="dd" (假如在edit1.text中的内容为dd时)
在access中执行没有问题;

但在Delphi中要想正确执行,必须这样写:
sql.add('where 套型='+''''+edit1.text+'''');
只有这样才生成正确的sql语句:where 套型='dd' (假如在edit1.text中的内容为dd时)
明白吗?

hi 楼上的哥门,你的话有语法错误

 
果然是"出的错,哥们说的话不错。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部