一个简单的Delphi7小程序,使用MySql数据库做简单查询,用DBGrid控件显示结果,实现过程如下:

(1)在MySql中新建demouser表,插入记录用于测试。

(2)在Delphi7中新建项目。

(3)在From中添加组件。

组件Panel:pnl1

组件属性-属性值:

Caption-请输入工号: 

 

组件Edit:edt1

组件Button:btn1

组件属性-属性值:

Caption-查询

组件ADOQuery:qry1

 组件属性-属性值:

Active-True  //设置SQL属性后取得表中数据,绑定的显示控件上可以实时出现数据

ConnectionString-Provider=MSDASQL.1;Persist Security Info=False;Data Source=MySqlOdbcU  //ODBC方式连接MySql,参考:http://blog.csdn.net/akof1314/article/details/6822902

 SQL-SELECT * FROM DEMOUSER;

 

组件DataSource:ds1

组件属性-属性值:

DataSet-qry1  //绑定数据集ADOQuery

 

组件DBGrid:dbgrd1  //认的情况下,dbgrid的数据修改就和打开数据库直接修改一样,修改完自动保存,除非修改了readonly(只读) enable(可选中)这些属性的默认值或者单独修改了字段的这两个属性

组件属性-属性值:

DataSource-ds1  //绑定数据源DataSource

Enabled-True    //可选中?

ReadOnly-True   //只读?

 

 (4)在代码编辑窗口中增加代码。

unit DataInMysql;

interface

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

type
  TForm1 = class(TForm)
    qry1: TADOQuery;
    ds1: TDataSource;
    btn1: TButton;
    dbgrd1: TDBGrid;
    pnl1: TPanel;
    edt1: TEdit;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses UserMessage;
{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
  s:string;
begin
  s:='SELECT * FROM DEMOUSER where 1=1';
  if edt1.Text<>'' then
    begin
      s:=s+' and id= '+edt1.Text;
    end;

  with qry1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add(s);
      Open;
    end;
end;

end.

(5)运行项目,保存文件。

效果如下:

注意:选择【Project | View Source】,可以创建一个缺省的Delphi项目文件的源代码(.DPR),修改后双击它打开对应的项目,避免点击启动时总是启动其他项目。

program Project3;

uses
  Forms,
  DataInMysql in 'DataInMysql.pas' {Form1};  //改这儿

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.