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

📄 u_xgq.~pas

📁 使用delphi 开发显示使用SQL语言
💻 ~PAS
字号:
{**
 * 名字: U_xgq
 * 时间:2007/3/13
 *作者:谢国庆
 * 内容:对Access数据库的一些SQL操作
 *}

unit U_xgq;

interface

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

type
  TF_xgq = class(TForm)
    ADOconnxgq: TADOConnection;    //创建ado控件
    ADOqryxgq: TADOQuery;          //创建查询控件
    btnxgq: TButton;               //创建一个按钮控件
    edtxgq: TMemo;                 //创建一个文本框控件
    lblxgq: TLabel;                //创建一个标签控件
    lvwxgq: TListView;             //创建一个listview控件
    lblsqlxgq: TLabel;             //创建一个文本框控件
    procedure FormCreate(Sender: TObject);      //窗体的构建事件
    procedure btnxgqClick(Sender: TObject);     //按钮的单击事件
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_xgq: TF_xgq;     //创建窗体
  s_sql: string;     //用于存放sql语句
  s_tip: string;     //用于显示提示
  s_tmp: string;     //用于存放错误信息

implementation

{$R *.dfm}

procedure TF_xgq.FormCreate(Sender: TObject);   //窗体创建时的事件
begin
  s_tip := '可在表T_RYXX中对字段c_name,c_sex,n_age,c_part,c_number进行查询';
  lblxgq.Caption:=s_tip;
end;

procedure TF_xgq.btnxgqClick(Sender: TObject); //单击按钮的事件
var
    i: Integer;   //循环变量
    j: Integer;
begin
  s_sql:='';      //初始化sql变量
  try
  for i := 0 to edtxgq.Lines.Count - 1 do   //将文本框中的信息存放到sql变量中
    s_sql := s_sql + edtxgq.Lines[i];
    ADOqryxgq.Close;                        //准备
    ADOqryxgq.SQL.Clear;
    ADOqryxgq.SQL.Add(s_sql);
    try
      try
        ADOqryxgq.Open;                      //执行sql中存放的sql语句

        ADOqryxgq.First;                     //定位到查询结果的第一条语句
        i:=0;
        lvwxgq.Clear;
        //将数据从数据库填充到listview中
        while not ADOqryxgq.Eof do
        begin
          lblxgq.Caption:=s_tmp;
          lvwxgq.Items.Add;
          lvwxgq.Items[i].Caption:=IntToStr(i+1);     //listview第一列用数字填充
          for j:=0 to ADOqryxgq.FieldCount-1 do       //填充一行数据
            lvwxgq.Items[i].SubItems.Add(ADOqryxgq.Fields[j].AsString);
          
          ADOqryxgq.Next;
          i:=i+1;
        end;
        s_tmp:='操作成功!';              //提示操作成功
        lblxgq.Caption:=s_tmp;
      except
        ADOqryxgq.ExecSQL;               //执行非查询操作
        s_tmp:='操作成功!';
        lblxgq.Caption:=s_tmp;
      end;
    except                                //发生错误后将错误信息输出到文本框
      on e: EOleException do
      lblxgq.Caption := e.Message;
    end;
  finally
  end;
end;

end.

⌨️ 快捷键说明

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