📄 dset.~pas
字号:
Parameters.ParamByName('para_id2').Value:=DBGrid2.Fields[0].Value;
open;
end;
end;
if dm.ADOQuery1.RecordCount>0 then
begin
Application.MessageBox('数据库中有对应该条参数名的测试数据,不能删除','题是信息',mb_ok);
exit;
end
else
DBGrid2.DataSource.DataSet.Delete;
end;
procedure Tfrmdset.TabSheet3Show(Sender: TObject);
var str:string;
begin
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add('select distinct pn from device_paraset1');
end;
open;
end;
end;
DM.ADOQuery1.First;
while not DM.ADOQuery1.Eof do
begin
pnCBox.Items.Add(DM.ADOQuery1.FieldValues['pn']);
DM.ADOQuery1.Next;
end;
pnCBox.ItemIndex:=0;
str:='select distinct prodorder from device_paraset1 where pn='''+pnCBox.Text+''' ';
with DM do
begin
with adoquery2 do
begin
close;
with sql do
begin
clear;
add(str);
//union select distinct prodorder from device_paraset2
end;
// Parameters.ParamByName('pn').Value:=pnCBox.Text;
open;
end;
end;
DM.ADOQuery2.First;
while not DM.ADOQuery2.Eof do
begin
prodorderCBox.Items.Add(DM.ADOQuery2.FieldValues['prodorder']);
DM.ADOQuery2.Next;
end;
prodorderCBox.ItemIndex:=0;
end;
procedure Tfrmdset.TabSheet3Hide(Sender: TObject);
begin
pnCBox.Items.Clear;
prodorderCBox.Items.Clear;
end;
procedure Tfrmdset.Button5Click(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 Status.Checked=true then
str:='true'
else
str:='false';
str1:='insert into device_paraset1(paraname,prodorder,pn,setdate,status,ordernum) select paraname,'''+
prodorderEdit.Text+''','''+PNEdit.Text+''','''+datetostr(date)+''','''+str+''',ordernum from device_paraset1 where(prodorder='''+
prodorderCBox.Text+''')and(pn='''+pnCBox.Text+''')';
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add(str1);
// add('insert into device_paraset1(paraname,prodorder,pn,setdate)');
// add(' select paraname,:prodorder1,:pn1,:setdate1 from device_paraset1 ');
// add(' where(prodorder=:prodorder1)and(pn=:pn2)');
end;
// Parameters.ParamByName('prodorder1').Value:=prodorderEdit.Text;
// Parameters.ParamByName('pn1').Value:=PNEdit.Text;
// Parameters.ParamByName('setdate1').Value:=datetostr(date);
// Parameters.ParamByName('prodorder1').Value:=prodorderCBox.Text;
// Parameters.ParamByName('pn2').Value:=pnCBox.Text;
execsql;
end;
end;
str1:='insert into device_paraset2(paraname,temperature,maxvalue,minvalue,prodorder,pn,setdate,status) select paraname,temperature,maxvalue,minvalue,'''+
prodorderEdit.Text+''','''+PNEdit.Text+''','''+datetostr(date)+''','''+str+''' from device_paraset2 where(prodorder='''+
prodorderCBox.Text+''')and(pn='''+pnCBox.Text+''')';
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add(str1);
// add('insert into device_paraset2(paraname,temperature,maxvalue,minvalue,prodorder,pn,setdate)');
// add(' select paraname,temperature,maxvalue,minvalue,:prodorder1,:pn1,:setdate1 from device_paraset2 ');
// add(' where(prodorder=:prodorder1)and(pn=:pn2)');
end;
// Parameters.ParamByName('prodorder1').Value:=prodorderEdit.Text;
// Parameters.ParamByName('pn1').Value:=PNEdit.Text;
// Parameters.ParamByName('setdate1').Value:=datetostr(date);
// Parameters.ParamByName('prodorder1').Value:=prodorderCBox.Text;
// Parameters.ParamByName('pn2').Value:=pnCBox.Text;
execsql;
end;
end;
adodataset1.Active:=false;
adodataset1.Active:=true;
adodataset2.Active:=false;
adodataset2.Active:=true;
end;
procedure Tfrmdset.DBGrid1DblClick(Sender: TObject);
begin
paranameEdit1.Text:=DBGrid1.Fields[1].Value;
PNEdit.Text:=DBGrid1.Fields[2].Value;
prodorderEdit.Text:=DBGrid1.Fields[3].Value;
ordernum.Text:=DBGrid1.Fields[4].Value;
tabsheet1.Show;
end;
procedure Tfrmdset.DBGrid2DblClick(Sender: TObject);
begin
paranameedit2.Text:=DBGrid2.Fields[1].Value;
temperatureEdit.Text:=DBGrid2.Fields[2].Value;
maxvalueEdit.Text:=DBGrid2.Fields[3].Value;
minvalueEdit.Text:=DBGrid2.Fields[4].Value;
PNEdit.Text:=DBGrid2.Fields[5].Value;
prodorderEdit.Text:=DBGrid2.Fields[6].Value;
TabSheet2.Show;
end;
procedure Tfrmdset.pnCBoxChange(Sender: TObject);
var str:string;
begin
str:='select distinct prodorder,ordernum from device_paraset1 where pn='''+pnCBox.Text+''' order by ordernum';//union select distinct prodorder from device_paraset2 where pn='''+pnCBox.Text+''' ';
prodorderCBox.Items.Clear;
with DM do
begin
with adoquery2 do
begin
close;
with sql do
begin
clear;
add(str);
// add('select distinct prodorder from device_paraset1 where pn=:pn union select distinct prodorder from device_paraset2 where pn=:pn');
//union select distinct prodorder from device_paraset2
end;
// Parameters.ParamByName('pn').Value:=pnCBox.Text;
open;
end;
end;
DM.ADOQuery2.First;
while not DM.ADOQuery2.Eof do
begin
prodorderCBox.Items.Add(DM.ADOQuery2.FieldValues['prodorder']);
DM.ADOQuery2.Next;
end;
prodorderCBox.ItemIndex:=0;
end;
procedure Tfrmdset.TabSheet4Show(Sender: TObject);
begin
with DM do
begin
with adoquery1 do
begin
close;
with sql do
begin
clear;
add('select distinct pn from device_paraset1');
end;
open;
end;
end;
DM.ADOQuery1.First;
while not DM.ADOQuery1.Eof do
begin
AfterCBox.Items.Add(DM.ADOQuery1.FieldValues['pn']);
BeforeCBox.Items.Add(DM.ADOQuery1.FieldValues['pn']);
DM.ADOQuery1.Next;
end;
AfterCBox.ItemIndex:=0;
BeforeCBox.ItemIndex:=0;
end;
procedure Tfrmdset.TabSheet4Hide(Sender: TObject);
begin
AfterCBox.Items.Clear;
BeforeCBox.Items.Clear;
end;
procedure Tfrmdset.Button6Click(Sender: TObject);
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select PN_id from device_PNRela where (AfterPN='''+AfterCBox.Text+''')or(BeforePN='''+BeforeCBox.Text+''')or(AfterPN='''+BeforeCBox.Text+''')or(BeforePN='''+AfterCBox.Text+''')');
dm.ADOQuery1.Open;
if dm.ADOQuery1.RecordCount>0 then
begin
showmessage('该PN对应的关系已存在');
exit;
end
else
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('insert into device_PNRela(AfterPN,BeforePN) ');
dm.ADOQuery1.SQL.Add('values('''+AfterCBox.Text+''','''+BeforeCBox.Text+''')');
dm.ADOQuery1.ExecSQL;
showmessage('添加成功');
end;
end;
procedure Tfrmdset.Button7Click(Sender: TObject);
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select SN_id from device_SNRela where (AfterSN='''+AfterSN.Text+''')or(BeforeSN='''+BeforeSN.Text+''')or(AfterSN='''+BeforeSN.Text+''')or(BeforeSN='''+AfterSN.Text+''')');
dm.ADOQuery1.Open;
if dm.ADOQuery1.RecordCount>0 then
begin
showmessage('该SN对应的关系已存在');
exit;
end
else
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('insert into device_SNRela(AfterSN,BeforeSN) ');
dm.ADOQuery1.SQL.Add('values('''+AfterSN.Text+''','''+BeforeSN.Text+''')');
dm.ADOQuery1.ExecSQL;
showmessage('添加成功');
end;
end;
procedure Tfrmdset.Button8Click(Sender: TObject);
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select para_id2 from device_paraset2 where (paraname='''+paranameedit2.Text+''')and(prodorder='''+prodorderEdit.Text+''')and(pn='''+PNEdit.Text+''')and(temperature='''+temperatureEdit.Text+''')');
dm.ADOQuery1.Open;
if dm.ADOQuery1.RecordCount>0 then
begin
paraid:=dm.ADOQuery1.FieldByName('para_id2').AsInteger;
Application.CreateForm(TChooseCmpParaFrm, ChooseCmpParaFrm);
ChooseCmpParaFrm.ShowModal;
end
else
begin
showmessage('该参数还未录入,请先录入该参数');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -