我用DELHPI调出ACCESS数据库中的记录执行,在把该记录执行完毕后,进行一些更新操作,如更新访问时间和访问标识?
代码如下:
const Systemdir=\\gxl\xml
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
s:string;
begin
adoquery2.First;
while not adoquery2.Eof do
begin
for I := 0 to adoquery2.RecordCount-1 do
begin
s:=Systemdir+adoquery2.fieldbyname('filename').AsString;
end;
ExecuteParser(s); //函数执行这个字符串
adoquery2.Next;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update xml set accesstime=(datetimetostr(now())) where filename='''+adoquery2.fieldbyname('filename').AsString+'''');
adoquery1.SQL.Add('update xml set data=true where filename='''+adoquery2.fieldbyname('filename').AsString+'''');
adoquery1.Prepared;
adoquery1.ExecSQL;
end;end;
但是我在执行后却发现没有进行一些更新操作啊
出现“语法错误(操作符丢失)在查询表达式filename='590.xml'update xml set data=true where filename='590.xml'”的错误信息啊(在ACCESS数据库中存的是一些XML的文件名)
代码如下:
const Systemdir=\\gxl\xml
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
s:string;
begin
adoquery2.First;
while not adoquery2.Eof do
begin
for I := 0 to adoquery2.RecordCount-1 do
begin
s:=Systemdir+adoquery2.fieldbyname('filename').AsString;
end;
ExecuteParser(s); //函数执行这个字符串
adoquery2.Next;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update xml set accesstime=(datetimetostr(now())) where filename='''+adoquery2.fieldbyname('filename').AsString+'''');
adoquery1.SQL.Add('update xml set data=true where filename='''+adoquery2.fieldbyname('filename').AsString+'''');
adoquery1.Prepared;
adoquery1.ExecSQL;
end;end;
但是我在执行后却发现没有进行一些更新操作啊
出现“语法错误(操作符丢失)在查询表达式filename='590.xml'update xml set data=true where filename='590.xml'”的错误信息啊(在ACCESS数据库中存的是一些XML的文件名)
var
s:string;
begin
adoquery2.First;
while not adoquery2.Eof do
begin
s:=Systemdir+adoquery2.fieldbyname('filename').AsString;
ExecuteParser(s); //函数执行这个字符串
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update xml set accesstime=(datetimetostr(now())),data=true where filename='''+adoquery2.fieldbyname'filename').AsString+'''');
adoquery1.ExecSQL;
adoquery2.Next;
end;end;