ADO带密码的数据连接、查询一个记录集、执行一SQL语句

2016-02-19 13:19 30 1 收藏

下面是个简单易学的ADO带密码的数据连接、查询一个记录集、执行一SQL语句教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】

  unit UDataModule;

  interface

  uses
     Controls,SysUtils, Classes, DB, ADODB,windows,forms,CustomCom_TLB;

  type
    TDataModule1 = class(TDataModule)
      ADOConnection1: TADOConnection;
      dsDataSet: TADODataSet;
      ADOQuery1: TADOQuery;
      procedure DataModuleCreate(Sender: TObject);
    private
      { Private declarations }
    public
      ConnOK:boolean;
      { Public declarations }
    end;

  var
    DataModule1: TDataModule1;
    loginMan : string;
    loginManID:integer;
    isManager:boolean;
    myCom : ICustomMG ; // COM 对象
    function OpenSQL(s: string;query:TADODataSet):integer;
    function DoSQL(s: string;query:TADOQuery):boolean;
   
  implementation

  {$R *.dfm}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  procedure TDataModule1.DataModuleCreate(Sender: TObject);
  var SQL,pwd:string;
  begin
    //连接ADO
    try
      pwd := 'deliSerial';
      SQL := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
           extractfilepath(paramstr(0))+'SerialInfo.mdb'+
           ';Persist Security Info=False;'  +
           'Jet OLEDB:Database Password="'+pwd+'"';
      ADOConnection1.Connected := false;
      ADOConnection1.ConnectionString := SQL;
      ADOConnection1.Connected := true;
      ConnOK:=true;
    except
      ConnOK:=false;
    end;
  end;

  function OpenSQL(s: string;query:TADODataSet):integer;
  var old_Cursor:TCursor;
  begin
    old_Cursor:=screen.cursor;
    screen.cursor:=crSQLWait;
    try
      try
        with query do
        begin
          close;
          commandtext:=s;
          open;
          result:=query.recordcount;
        end;
      except
       result:=0;
      end;
    finally
      screen.cursor:=old_Cursor;
    end;
  end;

  function DoSQL(s: string;query:TADOQuery):boolean;
  var old_Cursor:TCursor;
  begin
    result:=true;
    old_Cursor:=screen.cursor;
    screen.cursor:=crSQLWait;
    try
      try
        with query do
        begin
          close;
          SQL.Clear ;
          SQL.Add(s);
          ExecSQL;
        end;
      except
        result:=false;
      end;
    finally
      screen.cursor:=old_Cursor;
    end;
  end;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  end.

来源:https://www.tulaoshi.com/n/20160219/1603828.html

延伸阅读
标签: ASP
  我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连接打开的时间要比它需要打开的时间长得多。因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则...
标签: SQLServer
  问:我的一个表中包含了名为IdValue的单列主键。对于给定的IdValue值,我希望找到紧邻目标值之前和之后的表行(假定结果按IdValue排序)。怎样才能不使用游标而通过一个基于集合的方法得到需要的结果? 答:Transact-SQL是一个基于集合的语言,使用它在结果集中定位特定的行并非一件易事。但是,服务器端ANSI Transact-SQL游标的性能...
摘要:应用SqlServer2005开发也已经有一段时间了,但是很多时候都是把SqlServer2005当做SqlServer2000来用,因此很多SqlServer2005的新特性我都没有用到,有一个原因就是要兼容SqlServer2000的用户。新特性出来的当然就要用于实际当中,要想知道SQLServer2005的新特性可以参看微软网站的What's New in SQL Server 2005? ,特性有很多...
标签: SQLServer
上周﹐被一位網友問到在sql2000中,想選取一張表的第N條記錄怎麼寫?(即如下語句select ID,Name,Title from WebSite order by ID desc 如何改寫以達到目的) 我當時直接就給他回 select ID,Name,Title from WebSite where ID= N 最后這位老兄說如果是ID是連續的話就可以,如果有記錄刪除的話,ID不連續了,就不行了 ,至此才明白他的真正意思...
如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: Code: 代码如下: INSERT INTO 目标表 SELECT * FROM

经验教程

873

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部