网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
delphi直接执行sql生成的数据库脚本文件
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

delphi直接调用sql 2000或者2005生成的脚本文件,如果是delphi6\7等早期版本由于不支持utf格式,所以生成是一定要选格式为ansi。或者生成后通过其他文本编辑器转换成gb2312编码。如有问题欢迎到编程论坛programbbs.com交流。

//为delphi过滤无法识别的注释信息。
function ClrNoRun(str: string): string;
var
  res: string;
  oldn, n: integer;
  isZs: Boolean;
begin
  oldn := 1;
  n := 1;
  res := '''';
  isZs := false;
  {if Pos(''seek_calc_gzl_sp'', str) > 0 then
  begin
    Clipboard.AsText := str;
  end;
  Clipboard.AsText := str;}
  while (n < Length(str)) do
  begin
    if not isZs then
    begin
      n := PosEx(''/*'', str, oldn);
      if n > 0 then
      begin
        res := res + Copy(str, oldn, n - oldn);
        oldn := n + 2;
        isZs := true;
        Continue;
      end
      else
      begin
        n := Length(str);
        res := res + Copy(str, oldn, n - oldn);
        oldn := n + 2;
      end;
    end
    else
    begin
      n := PosEx(''*/'', str, oldn);
      if n > 0 then
      begin
        isZs := false;
        oldn := n + 2;
        Continue;
      end
      else
      begin
        break;
      end;
    end;
  end;
  Result := res;
end;

//执行sql脚本文件 Programbbs.com adq参数为窗体中拖入并配置连接字符串的adoQuery控件名称。
//eg: ExecSQLFile(''c:\111.sql'', adoQuery1)
function Tfrmdm.ExecSQLFile(filename: string; adq: TADOQuery): Boolean;
var
  strSql, strNoRun: TStrings;
  i, j: integer;
  bPass: Boolean;

begin

  result := false;

  if not FileExists(filename) then
    exit;

  strSql := TStringList.Create;
  strNoRun := TStringList.Create;

  try
    strSql.LoadFromFile(filename);



    strNoRun.Append(''SET ANSI_NULLS'');
    strNoRun.Append(''SET QUOTED_IDENTIFIER'');
    strNoRun.Append(''SET ANSI_PADDING'');
    //strNoRun.Append(''/*'');
    //strNoRun.Append(''*/'');


    adq.Active := false;
    adq.SQL.Clear;

    for i := 0 to strSql.Count - 1 do
    begin
      if Trim(str

  • 上一篇资讯: Delphi RTTI的使用例子
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号