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

📄 unit4.pas.~180~

📁 《Delphi程序员成长攻略》-蒙祖强龚涛的源代码
💻 ~180~
字号:
unit Unit4;

interface

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

type
  TForm4 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Query1: TQuery;
    GroupBox1: TGroupBox;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    ComboBox1: TComboBox;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    GroupBox2: TGroupBox;
    Memo1: TMemo;
    Edit4: TEdit;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;


implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
var SqlStr,StrVal,ComStr:string;
    flag:integer;
begin
     Memo1.Clear;
     Memo1.Lines.Add('学号,            姓名     ');
     Memo1.Lines.Add('-------------------------------');

     flag:=0;

     StrVal := trim(Edit1.Text);
     if StrVal <> '' then
     begin
         SqlStr := 'select * from student where (stu_id ='+ ''''+StrVal+ ''')';
         flag := 1;
     end;

     StrVal := trim(Edit2.Text);
     if StrVal <> '' then
     begin
         if flag = 0 then
         begin
             SqlStr := 'select * from student where (name ='+ ''''+StrVal+ ''')';
             flag := 1;
         end
         else
         begin
             SqlStr := SqlStr + ' and (name = '+ ''''+StrVal+ ''')';
         end;
     end;

     StrVal := trim(Edit3.Text);
     if StrVal <> '' then
     begin
         if flag = 0 then
         begin
             SqlStr := 'select * from student where (class ='+ ''''+StrVal+ ''')';
             flag := 1;
         end
         else
         begin
             SqlStr := SqlStr + ' and (class = '+ ''''+StrVal+ ''')';
         end;
     end;

     //-----------------------------------
     StrVal := trim(ComboBox1.Text);
     //if StrVal = '(空值)' then  ComStr := '(空值)';
     if StrVal = '优秀(90-100)'  then  ComStr := ' (ave_resu >= 90) and (ave_resu <= 100)';
     if StrVal = '良好(80-89)'   then  ComStr := ' (ave_resu >= 80) and (ave_resu < 90)';
     if StrVal = '中等(70-79)'   then  ComStr := ' (ave_resu >= 70) and (ave_resu < 80)';
     if StrVal = '及格(60-69)'   then  ComStr := ' (ave_resu >= 60) and (ave_resu < 70)';
     if StrVal = '不及格(60以下)'then  ComStr := ' (ave_resu >= 0) and (ave_resu < 60)';

     if StrVal <> '(空值)' then
     begin
         if flag = 0 then
         begin
             SqlStr := 'select * from student where '+ ComStr;
             flag := 1;
         end
         else
         begin
             SqlStr := SqlStr + ' and ' + ComStr;
         end;
     end;

     if flag = 0 then
     begin
         ShowMessage('请选择查询条件');
         exit;
     end;

     query1.Close;
     query1.sql.Text := SqlStr;
     query1.open;

     flag := 0;     //把flag用作计数器
     while not query1.Eof do
     begin
         SqlStr := query1.FieldByName('stu_id').AsString;
         SqlStr := SqlStr +', '+ query1.FieldByName('name').AsString;
         Memo1.Lines.Add(SqlStr);
         query1.Next;
         flag := flag + 1;
     end;
       Memo1.Lines.Add('-------------------------------');
     Memo1.Lines.Add('一共有  ' + IntToStr(flag) + ' 项符合查询条件');
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
    //if ComboBox1.Text = '' then showmessage('8888');
    showmessage(ComboBox1.Text);
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
    ComboBox1.ItemIndex := 0;
end;

end.

⌨️ 快捷键说明

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