Delphi中如何执行.sql脚本啊(求一实例)
只剩10分,有人可以指点迷津吗?

解决方案 »

  1.   

    10分求实例,是很困难的。可以给出方法,希望启发思路。
    首先你必须使用若干数据库组件,那么假设为TADOConnection + TADOQuery;
    然后将你的sql脚本使用文件类型或TStringList等读出;
    最后,使用下面的算法(给出伪码):
    //前提:每句SQL以分号结尾;思路:将每句SQL读出后逐个执行。
    procedure TXXForm.HandleSQL(str读出的字符串 : string);
    begin
    while str读出的字符串中有';'号 do
    begin
      将分号以前的语句临时保存起来,赋给某字符串变量strTempSQL;
      with ADOQuery1 do
      begin
        Close;
        Clear;
        Text := strTempSQL;
        ExecSQL(strTempSQL);
      end;
      str读出的字符串 := str读出的字符串删去分号及其前面的语句;
    end;
    end;
      

  2.   

    sql.LoadFromFile('文件路径'+'文件名');
    sql.execsql;
      

  3.   

    同意 chinaandys(执著追随DELPHI)的说法;
    简单有效!
      

  4.   

    小弟我这样执行会出错
    try
      with Adoquery1 do
      begin
        Close;
        SQL.Clear;
        SQL.LoadFromFile(ExtractFilePath(Application.ExeName) + '123.SQL');
        EXECSQL;
      end;
      showmessage('执行成功');
      except
        on e:exception do
          showmessage(e.Message);
      end;
    求一提示
      

  5.   

    begin
     with adoquery1 do
        begin
          close;
          sql.LoadFromFile(extractfilepath(application.ExeName)+'123.sql');
          
          open;
         
          end;