要直接执行一个有GO的SQL 脚本,可以这样做,读到TStringList后判断某行为GO的就把这行前的SQL到ADOQuery里执行后,再从这行后再开始重新判断
memExec := TStringList.Create;
s := TStringList.Create;
memExec.LoadFromFile('aaa.sql');
s.Clear;
for i := 0 to memExec.Count - 1 do
begin
if UpperCase(Trim(memExec.Strings)) <> '' then
begin
if UpperCase(Trim(memExec.Strings)) <> 'GO' then
s.Add(memExec.Strings)
else if UpperCase(Trim(memExec.Strings)) = 'GO' then
begin
ADOQuery1.SQL.Text := s.Text;
s.Clear;
end;
end;
end;
s.Free;
memExec.Free;
这段代码你自己改改吧