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

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

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

【 tulaoshi.com - 编程语言 】

  unit UDataModule;

  interface

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

  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;

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

  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}

  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;

  end.

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

延伸阅读
标签: MySQL mysql数据库
自上学这么多年以来,得出了从一个例子入手来学习是最快最有效,并能培养出很强的实践能力,这是一种很好的学习方法。不访试试。比如看一本书的时候从各章节的例子入手,找出不了解的以及不懂的还是新知识, 进而有针对性的学习。看看下面的例子: <?php $ip = getenv("REMOTE_ADDR"); //echo "$ip"; $c...
标签: 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不連續了,就不行了 ,至此才明白他的真正意思...
问题说明: 有时需要在两个或三个数据库的表中,通过相关关键字,查询获取所需记录集,用一般的SQL查询语句是实现不了的,可通过ACCESS的跨库查询功能实现。   解决方法: 例如“装材类型”和“装材”两张表是在不同的数据库中的,具体查询方法,如下: @"Select * from 装材类型 as a INNER JOIN [;database=" + AppDomain.Curre...

经验教程

843

收藏

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