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

📄 querywz.pas

📁 物资管理系统
💻 PAS
字号:
unit queryWz;

interface

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

type
  TfrmQueryWz = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    wzId: TEdit;
    Label2: TLabel;
    wzName: TComboBox;
    Label4: TLabel;
    sp: TEdit;
    Button1: TButton;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    num1: TEdit;
    Label5: TLabel;
    num2: TEdit;
    DBGrid1: TDBGrid;
    Label6: TLabel;
    Button2: TButton;
    Query1: TQuery;
    DataSource1: TDataSource;
    Table1: TTable;
    procedure FormCreate(Sender: TObject);
    procedure wzNameSelect(Sender: TObject);
    procedure num1Exit(Sender: TObject);
    procedure num2Exit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmQueryWz: TfrmQueryWz;

implementation

{$R *.dfm}
uses comFunc;
procedure TfrmQueryWz.FormCreate(Sender: TObject);
begin
   {初始化物资名称和物资编号以及单位}
   wzName.Items.Add('');
   with table1 do
   begin
      open;
      while not eof do
      begin
         wzName.Items.Add(fieldByName('物资名称').AsString);
         next;
      end;
      wzName.ItemIndex:=0;
      wzId.Text:='';
      close;
   end;//end of with
   {初始化其他}
   num1.Text:='';
   num2.Text:='';
   sp.Text:='';
end;

procedure TfrmQueryWz.wzNameSelect(Sender: TObject);
begin
   if wzName.ItemIndex=0 then
   begin
      wzId.Text:='';
      exit;
   end;
   with table1 do
   begin
      open;
      while not eof do
      begin
         if fieldByName('物资名称').AsString=wzName.Items[wzName.ItemIndex] then
         begin
            wzId.Text:=fieldByName('物资编号').AsString;
            break;
         end;
         next;
      end;
      close;
   end;
end;

procedure TfrmQueryWz.num1Exit(Sender: TObject);
begin
   if (isInteger(num1.Text)=false) and
      (num1.Text<>'') then
   begin
      showMessage('输入的数量有错误!');
      activeControl:=num1;
   end;
end;

procedure TfrmQueryWz.num2Exit(Sender: TObject);
begin
   if (isInteger(num2.Text)=false) and
      (num2.Text<>'') then
   begin
      showMessage('输入的数量有错误!');
      activeControl:=num2;
   end;
end;

procedure TfrmQueryWz.Button1Click(Sender: TObject);
var
   s:string;
   i:integer;
begin
   {生成sql语句}
   i:=0;
    s:='select 物资编号,物资名称,库存数量,单位,单价,供应商,物资描述';
    s:=s+' from wzinfo ';
    if wzId.Text<>'' then
    begin
      if i<>0 then
         s:=s+' and '
      else
         s:=s+' where ';
      i:=i+1;
      s:=s+'物资编号='''+wzId.Text+''' ';
    end;
    if num1.Text<>'' then
    begin
      if i<>0 then
         s:=s+' and '
      else
         s:=s+' where ';
      i:=i+1;
      s:=s+'库存数量>='+num1.Text;
    end;
    if num2.Text<>'' then
    begin
      if i<>0 then
         s:=s+' and '
      else
         s:=s+' where ';
      i:=i+1;
      s:=s+'库存数量<='+num2.Text;
    end;
    if sp.Text<>'' then
    begin
      if i<>0 then
         s:=s+' and '
      else
         s:=s+' where ';
      s:=s+'供应商=' +sp.Text;
    end;
   {进行查询操作}
   with query1 do
   begin
      sql.Clear;
      sql.Add(s);
      open;
   end;
end;

end.

⌨️ 快捷键说明

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