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

📄 dset.~pas

📁 有关delphi的应用
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
        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 + -