ADO问题,不得其解。(50分)

  • 主题发起人 主题发起人 VVD2000
  • 开始时间 开始时间
V

VVD2000

Unregistered / Unconfirmed
GUEST, unregistred user!
语句如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.ADD('select a.b,a.c,');
ADOQuery2.SQL.ADD(' .... ');
ADOQuery2.SQL.ADD(' .... ');

每行ADD语句都报相同的一个错:
Statement expected, but expression of type 'Integer' found
为什么?以前用相同的语句没报错呀!!
 
先关闭
AdoQuery2.Close;
AdoQuery2.Sql.Clear;
....
AdoQuery2.Open;
这样安全一点
 
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.ADD('select a.b,a.c,');
ADOQuery2.SQL.ADD(' .... ');
ADOQuery2.SQL.ADD(' .... ');
.
.
.
 
不是关闭的问题
加上也不行。
 
有人知道吗?
很急呀。
 
奇怪了?
 
看错误信息应该是SQL 语句有问题
 
将语句放到查询分析器执行看看有什么错误。
 
可我的程序还没有执行呀(是不能执行)。
跟语句能有关系吗?
 
编译时候出错吧,
先把SQL语句在查询分析器执行看看,有没有错误
Integer类型哪里有用到?
 
不对,这绝对不是SQL语句的错误,怀疑是你对前面的变量赋值时有错误.
 
我遇到这样的问题一般都是少写了
end;
 
把语句删除,重新输入一遍,有时候会因为一些隐藏字符出问题
还要注意begin end 的配对,这个是编译错误,与sql无关
 
你试一试这样,这是一个有趣的问题:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
ADOQuery2.SQL.Clear;
i:=ADOQuery2.SQL.ADD('select a.b,a.c,');
i:=ADOQuery2.SQL.ADD(' .... ');
i:=ADOQuery2.SQL.ADD(' .... ');


问题出在你可能弄到什么编译开关了。
 
是呀,
加上i:=.......就好了。
可问题到底是什么?
我总不能这样写程序呀。
而且他对 ADOQuery1.ExecSQL;
这名句话也报相同的错!
 
你用什么工具发的消息?!!

你加我的QQ吧。 24299125
 
继续关注
 
你用SQL.Append('');来写,应该没有问题
 
在你的程序开始前加这个编译开关吧:
{$X-}

靠,肯定是你在哪儿将这个编译开关打开了。
 

Similar threads

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