• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphi通过TADOConnection组件直接连接MSSQL数据库并读写数据。

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.StdCtrls,
  Vcl.Grids, Vcl.DBGrids, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    Button1: TButton;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Memo1: TMemo;
    Memo2: TMemo;
    RichEdit1: TRichEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  sObjId,sMemo: string;
  sTitle: string;
  sauxinfo: string;
  TotalNum,recNum,loopNum: Integer;
  fetchNum: Integer;
begin
//  Initial Catalog  数据库名称
//  Data Source   服务器名称或服务器IP
    ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Password=admindkl;Persist Security Info=True;User ID=sa;Initial Catalog=infobase;Data Source=127.0.0.1';    //连接指定的数据库
    ADOConnection1.LoginPrompt := False;
    ADOConnection1.Connected := True;

    ADOQuery1.Connection := ADOConnection1;    //连接数据源

    //
    recNum:=0;
    fetchNum:=1000;

   while True do
   begin
        application.ProcessMessages ;
        inc(loopNum);
        inc(RecNum);

        with ADOQuery1 do    //用ADO组件连接数据表
        begin
            close;
            SQL.Clear;
            SQL.Add('Select objid, title,auxinfo,content from ctdsb2015_objs_1 where objid<='+(inttostr(fetchNum+RecNum-1))+' and objid>='+inttostr(RecNum));    //使用SQL语句查询数据表中的内容
            open;
        end;
        ADOQuery1.Active := True;

       //

        TotalNum:=ADOQuery1.RecordCount;//1000

        RecNum:=fetchNum+RecNum-1;

      //  showmessage(inttostr(TotalNum));

        ADOQuery1.First;
        richEdit1.Lines.BeginUpdate;
        while Not  ADOQuery1.Eof do
        begin
           application.ProcessMessages ;
           sObjId:=ADOQuery1.FieldByName('objid').AsString;
           sTitle:=ADOQuery1.FieldByName('title').AsString;
           sauxinfo:=ADOQuery1.FieldByName('auxinfo').AsString;
           sMemo:=pchar(ADOQuery1.FieldByName('content').AsWideString);


           richEdit1.Lines.Add(sObjId+' === '+sTitle+' === '+sauxinfo+' === '+sMemo);

           ADOQuery1.Next;
           //break;
        end;

        richEdit1.Lines.EndUpdate;



        if loopNum=3 then  break;

   end;//while true end




  //  DataSource1.DataSet := ADOQuery1;
  //  DBGrid1.DataSource := DataSource1;


    showmessage('ok');



end;

end.

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi进程防杀发布时间:2022-07-18
下一篇:
fastscript调用delphi方法和DELPHI调用FASTSCRIPT方法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap