📄 dset.~pas
字号:
unit dset;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB, Grids, DBGrids;
type
Tfrmdset = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label2: TLabel;
paranameEdit1: TEdit;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
paranameedit2: TEdit;
temperatureEdit: TEdit;
maxvalueEdit: TEdit;
minvalueEdit: TEdit;
Button2: TButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
ADODataSet1: TADODataSet;
ADODataSet2: TADODataSet;
TabSheet3: TTabSheet;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button5: TButton;
pnCBox: TComboBox;
prodorderCBox: TComboBox;
Button3: TButton;
Button4: TButton;
GroupBox3: TGroupBox;
Label1: TLabel;
Label7: TLabel;
prodorderEdit: TEdit;
PNEdit: TEdit;
Label11: TLabel;
ordernum: TEdit;
Status: TCheckBox;
TabSheet4: TTabSheet;
Label12: TLabel;
AfterCBox: TComboBox;
Label13: TLabel;
BeforeCBox: TComboBox;
Button6: TButton;
TabSheet5: TTabSheet;
Label14: TLabel;
Label15: TLabel;
Button7: TButton;
AfterSN: TEdit;
BeforeSN: TEdit;
Button8: TButton;
ComboBox1: TComboBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure TabSheet3Show(Sender: TObject);
procedure TabSheet3Hide(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure pnCBoxChange(Sender: TObject);
procedure TabSheet4Show(Sender: TObject);
procedure TabSheet4Hide(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
paraid :integer;
end;
var
frmdset: Tfrmdset;
implementation
uses datalink, ChooseCmpPara;
{$R *.dfm}
procedure Tfrmdset.Button1Click(Sender: TObject);
var str,str1:string;
begin
if PNEdit.Text='' then
begin
application.MessageBox('pn不能为空','提示信息',mb_ok);
PNEdit.SetFocus;
exit;
end;
if prodorderEdit.Text='' then
begin
application.MessageBox('工序不能为空','提示信息',mb_ok);
prodorderEdit.SetFocus;
exit;
end;
{if ordernum.Text='' then
begin
application.MessageBox('工序顺序不能为空','提示信息',mb_ok);
ordernum.SetFocus;
exit;
end;
}if Status.Checked=true then
str:='true'
else
str:='false';
str1:='insert into device_paraset1(pn, prodorder, paraname,setdate,ordernum,status)'+
' values('''+PNEdit.Text+''','''+prodorderEdit.Text+''','''+
paranameEdit1.Text+''','''+datetostr(date)+''','''+ordernum.Text+
''','''+str+''')';
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add(str1);
// add('insert into device_paraset1(pn, prodorder, paraname,setdate,ordernum,status)');
// add(' values(:pn, :prodorder, :paraname,:setdate,:ordernum,:status)');
end;
// Parameters.ParamByName('pn').Value:=PNEdit.Text;
// Parameters.ParamByName('prodorder').Value:=prodorderEdit.Text;
// Parameters.ParamByName('paraname').Value:=paranameEdit1.Text;
// Parameters.ParamByName('setdate').Value:=datetostr(date);
// Parameters.ParamByName('ordernum').Value:=ordernum.Text;
// Parameters.ParamByName('status').Value:=str;
ExecSQL;
end;
end;
Application.MessageBox('参数添加成功','提示信息',mb_ok);
paranameEdit1.SetFocus;
adodataset1.Active:=false;
adodataset1.Active:=true;
adodataset1.Last;
end;
procedure Tfrmdset.Button2Click(Sender: TObject);
var str:string;
begin
if PNEdit.Text='' then
begin
application.MessageBox('pn不能为空','提示信息',mb_ok);
PNEdit.SetFocus;
exit;
end;
if prodorderEdit.Text='' then
begin
application.MessageBox('工序不能为空','提示信息',mb_ok);
prodorderEdit.SetFocus;
exit;
end;
if Status.Checked=true then
str:='true'
else
str:='false';
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add('select para_id2 from device_paraset2 where (pn=:pn)and(prodorder=:prodorder)and(paraname=:paraname)and(temperature=:temperature)');
end;
Parameters.ParamByName('pn').Value:=PNEdit.Text;
Parameters.ParamByName('prodorder').Value:=prodorderEdit.Text;
Parameters.ParamByName('paraname').Value:=paranameedit2.Text;
Parameters.ParamByName('temperature').Value:=temperatureEdit.Text;
open;
end;
end;
if dm.ADOQuery1.RecordCount>0 then
begin
if (windows.MessageBox(0,'数据库中已有该项参数的信息,点击“是”将修改参数值','提示信息',MB_YESNO+MB_DEFBUTTON2)=IDNO) then
exit
else
begin
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add('update device_paraset2');
add(' set maxvalue=:maxvalue, minvalue=:minvalue, setdate=:setdate,status=:status');
add(' where (pn=:pn)and(prodorder=:prodorder)and(paraname=:paraname)and(temperature=:temperature)');
end;
Parameters.ParamByName('pn').Value:=PNEdit.Text;
Parameters.ParamByName('prodorder').Value:=prodorderEdit.Text;
Parameters.ParamByName('paraname').Value:=paranameedit2.Text;
Parameters.ParamByName('maxvalue').Value:=maxvalueEdit.Text;
Parameters.ParamByName('minvalue').Value:=minvalueEdit.Text;
Parameters.ParamByName('setdate').Value:=datetostr(date);
Parameters.ParamByName('temperature').Value:=temperatureEdit.Text;
Parameters.ParamByName('status').Value:=str;
ExecSQL;
end;
end;
end;
adodataset2.Active:=false;
adodataset2.Active:=true;
exit;
end;
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add('insert into device_paraset2(pn, prodorder, paraname, temperature, maxvalue, minvalue,setdate,status)');
add(' values(:pn, :prodorder, :paraname, :temperature, :maxvalue, :minvalue, :setdate, :status)');
end;
Parameters.ParamByName('pn').Value:=PNEdit.Text;
Parameters.ParamByName('prodorder').Value:=prodorderEdit.Text;
Parameters.ParamByName('paraname').Value:=paranameedit2.Text;
Parameters.ParamByName('temperature').Value:=temperatureEdit.Text;
Parameters.ParamByName('maxvalue').Value:=maxvalueEdit.Text;
Parameters.ParamByName('minvalue').Value:=minvalueEdit.Text;
Parameters.ParamByName('setdate').Value:=formatdatetime('yyyy-mm-dd',date);
Parameters.ParamByName('status').Value:=str;
ExecSQL;
end;
end;
Application.MessageBox('参数添加成功','提示信息',mb_ok);
paranameedit2.SetFocus;
adodataset2.Active:=false;
adodataset2.Active:=true;
adodataset2.Last;
end;
procedure Tfrmdset.Button3Click(Sender: TObject);
begin
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add('select value_id1 from device_testvalue1 where para_id1=:para_id1');
end;
Parameters.ParamByName('para_id1').Value:=DBGrid1.Fields[0].Value;
open;
end;
end;
if dm.ADOQuery1.RecordCount>0 then
begin
Application.MessageBox('数据库中有对应该条参数名的测试数据,不能删除','题是信息',mb_ok);
exit;
end
else
DBGrid1.DataSource.DataSet.Delete;
end;
procedure Tfrmdset.Button4Click(Sender: TObject);
begin
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add('select value_id2 from device_testvalue2 where para_id2=:para_id2');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -