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

在处理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都是窗口中放置的控件。可以将之设为局部变量,在本函数内创建和消毁。

Delphi 7 在程序中直接执行SQL脚本文件的更多相关文章

  1. PL/SQL中批量执行SQL脚本(不可把所有的语句都复制到New SQL Windows)

    PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.s ...

  2. Java 执行 SQL 脚本文件

    转自:http://blog.csdn.net/hongmin118/article/details/4588941 package com.unmi.db; import java.io.FileI ...

  3. mysql执行sql脚本文件

    mysql执行sql脚本文件 方法一:使用cmd命令执行(windows下,unix或Linux在的其控制台下) [MySQL的bin目录]\mysql –u用户名 –p密码 –D数据库<[sq ...

  4. 使用命令执行 sql 脚本文件

    使用命令执行 sql 脚本文件 方法: 在 Windows 下使用 cmd 命令执行(或 Unix 或 Linux 控制台下)[Mysql的bin目录]\mysql –u用户名 –p密码 –D数据库名 ...

  5. Eclipse中执行sql脚本文件

    转自:https://blog.csdn.net/weixin_37778823/article/details/79614281 在Eclipse中导入或新建sql脚本文件(.sql文件),选择指定 ...

  6. MySQL控制台执行.sql脚本文件

    用notepad++编写好一个.sql脚本文件: drop database if exists library; create database library default character ...

  7. CUBRID学习笔记 28 执行sql脚本文件

    一下命令在csql下执行. insert_commands.sql为sql脚本文件 ;CL ;READ insert_commands.sql ;RU 第一行的cl 清空命令缓存,等同clear第二行 ...

  8. Spring Boot中自动执行sql脚本

    说明:所有的代码基于SpringBoot 2.0.3版本 背景 在应用程序启动后,可以自动执行建库.建表等SQL脚本.下文中以要自动化执行people.sql脚本为例说明,脚本在SpringBoot工 ...

  9. Linux和windows下执行sql脚本文件

    利用 sqlplus 登录数据库之后 键入: @/全路径/文件名      即可执行*.sql 文件            例 假设有一个 test.sql 文件 所在路径是/home/oracle/ ...

随机推荐

  1. 大数据服务大比拼:AWS VS. AzureVS.谷歌

    [TechTarget中国原创] 对于企业用户来说,大数据服务是一项较具吸引力的云服务.三大巨头AWS.Azure以及谷歌都在力争夺得头把交椅,但是最后到底是哪一家能够取得王座之战的胜利呢? 云市场正 ...

  2. SpringMVC 集成 Velocity 模板引擎

    本文通过 maven 项目中集成 1.引入 SpringMVC 与 Velocity 需要的依赖 <!-- SpringMVC --> <dependency> <gro ...

  3. selenium初识(一)

    Selenium是一个开源的便携式的自动化软件测试工具,用于测试web应用程序.有能力在不同浏览器和操作系统运行.它是一套工具,帮助我们有效地给予web应用程序的自动化. Selenium分为以下几个 ...

  4. 台州学院we are without brain 训练 后缀数组

    sa[i]表示排名为 i 的后缀的第一个字符在原串中的位置 rank[i]表示按照从小到大排名  以i为下标开始的后缀的排名 height[i]表示排名为 i 和排名为 i+1的后缀的最长公共前缀的长 ...

  5. ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 M: 当总统

    http://acm.ocrosoft.com/problem.php?cid=1316&pid=12 题目描述 小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过 ...

  6. 可以在函数中间打点了,以分析bpf_prog_load函数为例

    可以在函数中间打点了, sudo stap -L 'process("./test").statement("func@test.c:10")' //12.10 ...

  7. SQL Server 重新编译存储过程的方式有三种

    SQL Server 中,强制重新编译存储过程的方式有三种: sp_recompile 系统存储过程强制在下次执行存储过程时对其重新编译.具体方法是:从过程缓存中删除现有计划,强制在下次运行该过程时创 ...

  8. node.js开发hello world

    在你的 D 盘下面创建一个 server.js,写入以下内容 ---------------------------------------------------- var http = requi ...

  9. nginx支持pathinfo

    server { root /webserver/www/api; listen ; server_name api.dnxia.com; location / { if (!-e $request_ ...

  10. [03]使用阿里RAP搭建前端Mock Server

    MockServer可以减少前端开发对后端的依赖,提高前端开发的效率,同时也利于团队的协作. 什么是RAP? RAP是阿里团队出的一款WEB接口管理工具,帮助开发人员更高效的管理接口文档,同时通过分析 ...