//-----------------------------------------------------------------
//搞了个配置表,将所有配置信息保存在里面,下面是保存和读取的代码,老是感觉有问题,大家有没有好的办法?感觉用LOCATE不舒服,但是又想不出问题在哪里,总是感觉代码还会更短一些才对,这样对数据库的访问太多了。 D7 ACCESS数据库。//-----------保存配置------------
if fmDM_data.tblOption.Locate('OptionName','edtAreaTitle1',[]) then
       begin
         fmDM_data.tblOption.edit;
         FieldByName('OptionName').asstring:='edtAreaTitle1';
         FieldByName('OptionValue').asstring:=trim(edtAreaTitle1.Text);
         FieldByName('OptionVisible').AsBoolean:=true;
       end  //if
      else
       begin
         fmDM_data.tblOption.Append;
         FieldByName('OptionName').asstring:='edtAreaTitle1';
         FieldByName('OptionValue').asstring:=trim(edtAreaTitle1.Text);
         FieldByName('OptionVisible').AsBoolean:=true;
       end; //else
        /////CES设置-业务范围设置保存 AreaTitle2
      if fmDM_data.tblOption.Locate('OptionName','edtAreaTitle2',[]) then
       begin
         fmDM_data.tblOption.edit;
         FieldByName('OptionName').asstring:='edtAreaTitle2';
         FieldByName('OptionValue').asstring:=trim(edtAreaTitle2.Text);
         FieldByName('OptionVisible').AsBoolean:=true;
       end  //if
      else
       begin
         fmDM_data.tblOption.Append;
         FieldByName('OptionName').asstring:='edtAreaTitle2';
         FieldByName('OptionValue').asstring:=trim(edtAreaTitle2.Text);
         FieldByName('OptionVisible').AsBoolean:=true;
       end; //else//-----------读配置----------
with fmDM_data.tblOption do    //从配置表中读数据
    begin
      if fmDM_data.tblOption.Locate('OptionName','edtAreaTitle1',[]) then  // edtAreaTitle1
      edtAreaTitle1.Text:=fmDM_data.tblOption.FieldByName('OptionValue').AsString;
      if fmDM_data.tblOption.Locate('OptionName','edtAreaTitle2',[]) then  // edtAreaTitle2
      edtAreaTitle2.Text:=fmDM_data.tblOption.FieldByName('OptionValue').AsString;
      if fmDM_data.tblOption.Locate('OptionName','edtAreaTitle3',[]) then  // edtAreaTitle3
      edtAreaTitle3.Text:=fmDM_data.tblOption.FieldByName('OptionValue').AsString;
      if fmDM_data.tblOption.Locate('OptionName','edtAreaTitle4',[]) then  // edtAreaTitle4
      edtAreaTitle4.Text:=fmDM_data.tblOption.FieldByName('OptionValue').AsString;
      if fmDM_data.tblOption.Locate('OptionName','edtAreaTitle5',[]) then  // edtAreaTitle5
      edtAreaTitle5.Text:=fmDM_data.tblOption.FieldByName('OptionValue').AsString;
      if fmDM_data.tblOption.Locate('OptionName','dtpQ1Begin',[]) then   // dtpQ1Begin
       begin
         dtpQ1Begin.Date:=FieldByName('OptionValue').AsDateTime;
       end  //if
      else  dtpQ1Begin.Date:=now;
      if fmDM_data.tblOption.Locate('OptionName','dtpQ1End',[]) then   // dtpQ1End
       begin
         dtpQ1End.Date:=FieldByName('OptionValue').AsDateTime;
       end  //if
      else  dtpQ1End.Date:=now;
      if fmDM_data.tblOption.Locate('OptionName','dtpQ2Begin',[]) then   // dtpQ2Begin
       begin
         dtpQ2Begin.Date:=FieldByName('OptionValue').AsDateTime;
       end  //if
      else  dtpQ2Begin.Date:=now;