Delphi 7 在程序中直接执行SQL脚本文件

原创 2004年10月27日 20:11:00

在处理MSDE一些操作中。需要执行一些SQL脚本。有的是从
SQLServer 2000中生成的SQL为后缀的脚本。在MSDE中没有企业管理器,
操作都是在程序中完成的。所以用以下函数来执行SQL脚本。

//执行一个SQL角本文件,文件只能是ANSI编码的。
//如果文件是UNICODE编码的话,则会乱码。
var
  s:string;
  sqltext : string;
  sqlfile : TextFile;
begin
  if OpenDialog1.Execute then
  begin
    AssignFile(sqlfile, OpenDialog1.FileName);
    FileMode := 0;
    Reset(sqlfile);
    try
      ADOConnection1.BeginTrans;
      while not eof(sqlfile) do
      begin
        Readln(sqlfile, s);
        sqltext:=s;
        while (not eof(sqlfile)) and 
        (uppercase(trim(s))<>'GO') do
        begin
          Readln(sqlfile, s);
          if (uppercase(trim(s))<>'GO') then
            sqltext:=sqltext+' '+s;
        end;
        adoquery1.Close;
        adoquery1.SQL.Clear;
        adoquery1.SQL.Add(sqltext);
        adoquery1.ExecSQL;
      end;
      CloseFile(sqlfile);
      ADOConnection1.CommitTrans;
      application.MessageBox('SQL角本完成!',
        '提示',MB_OK+MB_ICONINFORMATION);
    except
      raise exception.Create('SQL角本执行失败!');
      ADOConnection1.RollbackTrans;
    end;
  end;
end;

其中:ADOConnection1,adoquery1,OpenDialog1都是窗口中放置的控件。可以将之设为局部变量,在本函数内创建和消毁。

20:03:52

Delphi执行SQL脚本

unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For...
  • u010143011
  • u010143011
  • 2013年10月15日 09:40
  • 1723

delphi 执行sql文件

Procedure ExecuteSQLByDelphi(const FileName:String;ADOCommand:TADOCommand); var    SourceSQLScript...
  • franbo
  • franbo
  • 2014年01月20日 18:46
  • 363

delphi调用sql server 中DTS导入数据,纯delphi代码

  • 2008年11月19日 16:23
  • 303KB
  • 下载

Delphi 7 在程序中直接执行SQL脚本文件

在处理MSDE一些操作中。需要执行一些SQL脚本。有的是从SQLServer 2000中生成的SQL为后缀的脚本。在MSDE中没有企业管理器,操作都是在程序中完成的。所以用以下函数来执行SQL脚本。/...
  • OpenSchema
  • OpenSchema
  • 2004年10月27日 20:11
  • 4826

c# vs2013+sql2008r2 直接执行.sql脚本文件

c# vs2013+sql2008r2 直接执行.sql脚本文件怎样把.sql脚本文件能想在SSM中执行的脚本一样,这样我们就可以在程序中调用不同脚本执行后续的需求就不需要改动代码,同时也可以给非程序...
  • huanghw22
  • huanghw22
  • 2017年02月22日 13:45
  • 1085

C#中如何执行sql脚本?

在C#中执行SQL脚本,可以考虑使用osql工具。Example : #region 调用Osql.exe执行建库脚本/// /// 调用Osql.exe执行建库脚本/// /// 数据库访问用户名/...
  • jxufewbt
  • jxufewbt
  • 2007年05月30日 14:23
  • 1132

delphi如何调用sql存储过程,并获取结果

delphi如何调用sql存储过程,并获取结果document.title="delphi如何调用sql存储过程,并获取结果 - "+document.title delphi如何调用sql存储过程,...
  • cooldidi
  • cooldidi
  • 2005年10月10日 22:48
  • 672

Delphi 操作 SQL数据库

Delphi 数据库查询(TADOQuery) 在一个程序中你会多次查询数据库的,因此在你写的查询方法中定义一个局部的ADOQuery就可以了,它返回一个数据集_RecordSet。最简单的应用如...
  • xiexuan2007
  • xiexuan2007
  • 2014年03月14日 11:52
  • 652

【SQL Server中SMO的简单使用】

 SMO是SQL Mangagement Objects的简称.与之相对应的是ADO.Net。不过不同的地方是ADO.Net是用于数据访问的,而SMO是用于设计的,虽然SMO能够再服务器上执行任意的S...
  • feixianxxx
  • feixianxxx
  • 2010年05月15日 20:59
  • 6265

shell执行Oracle sql脚本

由于经常要去业务库执行sql语句,库太多,该脚本就是来解决这个问题的。#!/bin/sh if [ $# -lt 1 ] then echo "No SID." exit fi SID=$1 ...
  • he745604371
  • he745604371
  • 2017年03月17日 15:26
  • 2793
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi 7 在程序中直接执行SQL脚本文件
举报原因:
原因补充:

(最多只允许输入30个字)