⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 ADO连接Access数据库
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Memo1: TMemo;
    Button3: TButton;
    Button4: TButton;
    ADOQuery2: TADOQuery;
    Edit4: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
  var
  i: integer;
begin
 Try
   ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;Persist Security Info=True';
   ADOConnection1.Open;  //或者用 ADOConnection1.Connected:=True
 Except
   ShowMessage('打开数据库错误');
 end;
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('select * from News');
     ADOQuery1.ExecSQL; //发送命令  或者用   ADOQuery1.Prepared;
     ADOQuery1.Close;
     ADOQuery1.Open; //或者用 ADOQuery1.Active:=True;
 //指定DBGrid1每列的宽度
       For i:=0 to ADOQuery1.FieldCount-1 do
         DBGrid1.Columns[i].Width:=60;

end;

procedure TForm1.Button1Click(Sender: TObject);
  var
  i: integer;
  begin

     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add(Edit4.Text);
     ADOQuery1.ExecSQL; //发送命令  或者用   ADOQuery1.Prepared;

     ADOQuery1.Close;
     ADOQuery1.Open; //或者用 ADOQuery1.Active:=True;

      For i:=0 to ADOQuery1.FieldCount-1 do
        DBGrid1.Columns[i].Width:=60;  //指定列宽度
  end;

procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
  with ADOQuery2 do
   begin
    Sql.Clear;
    Sql.Add('INSERT INTO News (TIT,URL,CONTENT,PIC) Values (');
    SQL.Add(' '''+EDIT1.Text +'''    , ');
    SQL.Add(' '''+EDIT2.Text +'''    , ');
    SQL.Add(' '''+MEMO1.Text +'''    , ');
    SQL.Add(' '''+EDIT3.Text +'''    ) ');
    ExecSQL;
   end;
 ADOQuery1.Close;
 ADOQuery1.Open;
      For i:=0 to ADOQuery1.FieldCount-1 do
        DBGrid1.Columns[i].Width:=60;  //指定列宽度

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 with ADOQuery2 do
 begin
  SQL.Clear;
  SQL.Add('UPDATE News');
  SQL.Add('SET ');
  SQL.Add('TIT = '''+EDIT1.Text +''' , ');
  SQL.Add('URL  = '''+EDIT2.Text +''' , ');
  SQL.Add('CONTENT  = '''+MEMO1.Text +''' , ');
  SQL.Add('PIC = '''+EDIT3.Text +'''   ');
  SQL.Add('WHERE ENO = '+ADOQuery1.FieldByName('ENO').AsString +' ');
  ExecSQL;
 end;
 ADOQuery1.Close;
 ADOQuery1.Open;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('DELETE FROM News ');
  ADOQuery2.SQL.Add('WHERE ENO = '+ADOQuery1.FieldByName('ENO').AsString +' ');
  ADOQuery2.ExecSQL;

  ADOQuery1.CLOSE;
  ADOQuery1.OPEN;
end;

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  EDIT1.Text := Query1.FieldByName('Tit').AsString;
  EDIT2.Text := Query1.FieldByName('URL') .AsString;
  EDIT3.Text := Query1.FieldByName('PIC').AsString;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -