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

📄 u_frmmain.pas

📁 sqllite3数据库基本应用(打开,关闭表,及更新数据表)
💻 PAS
字号:
unit u_frmmain;


interface

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

type
  TFrmmain = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    departEdit: TEdit;
    taskEdit: TEdit;
    dateEdit: TEdit;
    proComboBox: TComboBox;
    userComboBox: TComboBox;
    rpbtn1: TButton;
    rpbtn2: TButton;
    rpbtn3: TButton;
    userbtn: TButton;
    Button1: TButton;
    StatusBar1: TStatusBar;
    Button2: TButton;
    procedure userbtnClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure rpbtn1Click(Sender: TObject);
    procedure rpbtn2Click(Sender: TObject);
    procedure rpbtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frmmain: TFrmmain;
  Tp:TSearchRec; //申明Tp为一个查找记录
  T1,T2,T3:string;//在此声明方便调用

implementation

uses u_data, u_frmuser, u_frmlogin, u_frmlist, u_frmchange;

{$R *.dfm}

procedure TFrmmain.userbtnClick(Sender: TObject);
begin
application.CreateForm(tfrmuser,frmuser);
frmuser.ShowModal;
frmuser.Free;
end;

procedure TFrmmain.FormKeyPress(Sender: TObject; var Key: Char);
begin
if   Key=#13   then   
      begin
      Key:=#0;
      SelectNext(ActiveControl,True,True);
      end;
end;

procedure TFrmmain.FormShow(Sender: TObject);
begin
dateedit.Text:= FormatDateTime('yyyy-mm-dd',Now); //取系统日期
StatusBar1.Panels[4].Text := FormatDateTime('hh:mm:ss',Now);//取系统时间
StatusBar1.Panels[6].Text := T2;
departedit.Text:=frmlogin.ComboBoxname.Text;
with data.Quser do
begin
close;
sql.Clear;
sql.Add('select * from users');
open;
usercombobox.Clear;
end;
while not data.Quser.Eof do
begin
userComboBox.Items.Add(data.Quser.fieldbyname('username').AsString);
data.Quser.Next;
end;
end;

procedure TFrmmain.Button1Click(Sender: TObject);
begin
with data.Quser do
begin
close;
sql.Clear;
sql.Add('select * from users');
open;
usercombobox.Clear;
end;
while not data.Quser.Eof do
begin
userComboBox.Items.Add(data.Quser.fieldbyname('username').AsString);
data.Quser.Next;
end;
end;

procedure TFrmmain.rpbtn1Click(Sender: TObject);
begin
with Data.Qtask do
     begin
     close;
     sql.Clear;
     sql.Add('select type.reporttype,task.taskno1,task.taskno2,task.taskno3 from type,task');
     open;
     end;
     if trim(proComboBox.Text)='' then
     begin
     Application.MessageBox('请选择上报项目!','提示',0+64);
     proComboBox.SetFocus;
     end
     else if trim(taskEdit.Text)='' then
     begin
     Application.MessageBox('请填写上报任务号!','提示',0+64);
     taskEdit.SetFocus;
     end
     else if trim(userComboBox.Text)='' then
     begin
     Application.MessageBox('请选择上报人!','提示',0+64);
     userComboBox.SetFocus;
     end
     else if Data.Qtask.Locate('taskno1',taskEdit.Text,[]) then
     begin
     Application.MessageBox('该任务号已经第一次上报,请选择第二次上报!','提示',0+64);
     rpbtn2.SetFocus;
     end
     else
     begin
     with Data.Qtask do
     begin
     Close;
     SQL.Clear;
     SQL.Add('insert into task(taskno1)');
     SQL.Add('values('''+taskEdit.text+''')');
     execsql;
     end;
     application.CreateForm(tfrmlist,frmlist);
     frmlist.ShowModal;
     frmlist.Free;
    end;
end;

procedure TFrmmain.rpbtn2Click(Sender: TObject);
begin
with Data.Qtask do
     begin
     close;
     sql.Clear;
     sql.Add('select type.reporttype,task.taskno1,task.taskno2,task.taskno3 from type,task');
     open;
     end;
     if trim(proComboBox.Text)='' then
     begin
     Application.MessageBox('请选择上报项目!','提示',0+64);
     proComboBox.SetFocus;
     end
     else if trim(taskEdit.Text)='' then
     begin
     Application.MessageBox('请填写上报任务号!','提示',0+64);
     taskEdit.SetFocus;
     end
     else if trim(userComboBox.Text)='' then
     begin
     Application.MessageBox('请选择上报人!','提示',0+64);
     userComboBox.SetFocus;
     end
     else if Data.Qtask.Locate('taskno2',taskEdit.Text,[]) then
     begin
     Application.MessageBox('该任务号已经第二次上报,请选择第三次上报!','提示',0+64);
     rpbtn3.SetFocus;
     end
     else if not Data.Qtask.Locate('taskno1',taskEdit.Text,[]) then
     begin
     Application.MessageBox('新任务号,请选择第一次上报!','提示',0+64);
     rpbtn1.SetFocus;
     end
     else
     begin
     with Data.Qtask do
     begin
     Close;
     SQL.Clear;
     SQL.Add('update task set taskno2 = taskno1');
     SQL.Add('where taskno1='''+taskEdit.text+'''');
     execsql;
     end;
     application.CreateForm(tfrmlist,frmlist);
     frmlist.ShowModal;
     frmlist.Free;
    end;
end;

procedure TFrmmain.rpbtn3Click(Sender: TObject);
begin
with Data.Qtask do
     begin
     close;
     sql.Clear;
     sql.Add('select type.reporttype,task.taskno1,task.taskno2,task.taskno3 from type,task');
     open;
     end;
     if trim(proComboBox.Text)='' then
     begin
     Application.MessageBox('请选择上报项目!','提示',0+64);
     proComboBox.SetFocus;
     end
     else if trim(taskEdit.Text)='' then
     begin
     Application.MessageBox('请填写上报任务号!','提示',0+64);
     taskEdit.SetFocus;
     end
     else if trim(userComboBox.Text)='' then
     begin
     Application.MessageBox('请选择上报人!','提示',0+64);
     userComboBox.SetFocus;
     end
     else if Data.Qtask.Locate('taskno3',taskEdit.Text,[]) then
     begin
     Application.MessageBox('该任务号三次上报已经结束,不允许再报!','提示',0+64);
     end
     else if not Data.Qtask.Locate('taskno1',taskEdit.Text,[]) then
     begin
     Application.MessageBox('新任务号,请选择第一次上报!','提示',0+64);
     rpbtn1.SetFocus;
     end
     else if not Data.Qtask.Locate('taskno2',taskEdit.Text,[]) then
     begin
     Application.MessageBox('该任务号还未第二次上报,请选择第二次上报!','提示',0+64);
     rpbtn1.SetFocus;
     end
     else
     begin
     with Data.Qtask do
     begin
     Close;
     SQL.Clear;
     SQL.Add('update task set taskno3 = taskno2');
     SQL.Add('where taskno1='''+taskEdit.text+'''');
     execsql;
     end;
     application.CreateForm(tfrmlist,frmlist);
     frmlist.ShowModal;
     frmlist.Free;
    end;
end;
function CovFileDate(Fd:_FileTime):TDateTime;// 声明转换文件时间格式的函数
var 
Tct:_SystemTime; 
Temp:_FileTime; 
begin 
FileTimeToLocalFileTime(Fd,Temp);
FileTimeToSystemTime(Temp,Tct); 
CovFileDate:=SystemTimeToDateTime(Tct); 
end;

procedure TFrmmain.FormCreate(Sender: TObject);
const
Model='yyyy年mm月dd日,hh:mm:ss'; // 设定时间格式
begin
FindFirst('syw.syw',faAnyFile,Tp); //查找目标文件
T1:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftCreationTime));
// 返回文件的创建时间
T2:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftLastWriteTime));
// 返回文件的修改时间
T3:=FormatDateTime(Model,Now);
{//返回文件的当前访问时间 }
FindClose(Tp);

end;

procedure TFrmmain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Application.Terminate ;
end;

procedure TFrmmain.Button2Click(Sender: TObject);
begin
application.CreateForm(tfrmchange,frmchange);
frmchange.ShowModal;
frmchange.Free;
end;

end.

⌨️ 快捷键说明

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