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

📄 dm.pas

📁 批量修改约束关系, 只对sql server
💻 PAS
📖 第 1 页 / 共 3 页
字号:
END;

PROCEDURE TFDM.DataModuleDestroy(Sender:TObject);
BEGIN
  Logs.Free;
  Tables.Free;
END;

FUNCTION TFDM.GetChangRowCount:Integer;
VAR
  S:STRING;
BEGIN
  S:='select @@RowCount as Rows ';
  TRY
    TRY
      OpenQuery(FDM.aqTmp, S);
      Result:=FDM.aqTmp.FieldValues['Rows'];
    EXCEPT
      Result:=0;
    END;
  FINALLY
    FDM.aqTmp.Close;
  END;
END;

FUNCTION TFDM.GetRate(ADate:STRING):Currency;
BEGIN
END;

FUNCTION TFDM.OpenWorker:Boolean;
VAR sSQL:STRING;
BEGIN
END;

//取当前登录信息

FUNCTION TFDM.GetAccInfo(AStation, AModul:STRING):TAccInfo;
VAR sSQL:STRING;
BEGIN
  sSQL:='SELECT A.*, B.dInTime '
    +' FROM [UFSystem].[dbo].[UA_Task] A left join [UFSystem].[dbo].[UA_TaskLog] B '
    +' ON A.csub_id=B.csub_id and A.cstation=B.cstation '
    +' where A.cstation='+Quotedstr(AStation)+' and A.csub_id='+Quotedstr(AModul)
    +' ORDER BY B.dInTime DESC ';
  TRY
    OpenSQL(FDM.aqTemp, sSQL);
    IF FDM.aqTemp.RecordCount>0 THEN
    BEGIN
      Result.ID:=FDM.aqTemp.FieldByName('cAcc_Id').AsString;
      Result.year:=FDM.aqTemp.FieldByName('iyear').AsString;
      Result.LoginInUser:=FDM.aqTemp.FieldByName('cUser_Id').AsString;
      Result.LoginInDate:=trunc(FDM.aqTemp.FieldByName('dInTime').AsFloat);
    END;
    Result.LoginIn:=(Result.ID<>'')AND(Result.LoginInUser<>'');
  FINALLY
    FDM.aqTemp.Close;
  END;
END;

FUNCTION TFDM.GetCustTableEName(ATableCName:STRING):STRING;
VAR sSQL:STRING;
BEGIN
  sSQL:='SELECT [AutoID], [CTableCode], [CTableEName], [CTableCName]'
    +' FROM ['+CurrAccDBName+'].[dbo].[AutoSetTableInf]'
    +' where CTableCName='+Quotedstr(ATableCName);
  Result:='';
  TRY
    IF OpenSQL(FDM.aqTemp, sSQL)=1 THEN
    BEGIN
      Result:=FDM.aqTemp.FieldByName('CTableEName').AsString;
    END;
  FINALLY
    FDM.aqTemp.Close;
  END;
END;

FUNCTION TFDM.GetCustTableFieldsTitle(ATableCName:STRING):STRING;
VAR sSQL:STRING;
  k:Integer;
  FieldEName, FieldCName:STRING;
BEGIN
  sSQL:='SELECT * '
    +' FROM ['+CurrAccDBName+'].[dbo].[AutoSetTableInf] A '
    +'   left join ['+CurrAccDBName+'].[dbo].[AutoSetFieldInf] B '
    +'   on A.CTableCode=B.CTableCode '
    +' where A.CTableCName='+Quotedstr(ATableCName);
  Result:='';
  TRY
    OpenSQL(FDM.aqTemp, sSQL);
    FOR k:=1 TO FDM.aqTemp.RecordCount DO
    BEGIN
      FieldEName:=FDM.aqTemp.FieldByName('CfieldEName').AsString;
      FieldCName:=FDM.aqTemp.FieldByName('CfieldCName').AsString;
      IF (FieldEName='CAutoCode')OR(FieldEName='CAutoName') THEN
      BEGIN
        FDM.aqTemp.Next;
        continue;
      END;
      IF Result='' THEN
        Result:=FieldEName+' as '+FieldCName
      ELSE
        Result:=Result+', '+FieldEName+' as '+FieldCName;

      FDM.aqTemp.Next;
    END;                                //of for
  FINALLY

  END;
END;

FUNCTION ReadLJCodeField:STRING;
VAR FIni:TIniFile;
BEGIN
  FIni:=TIniFile.Create(sIniFile);
  TRY
    Result:=FIni.ReadString('tools', '量具编号字段', 'FError');
  FINALLY
    FIni.Free;
  END;
END;

FUNCTION ReadLJClassID:STRING;
VAR FIni:TIniFile;
BEGIN
  FIni:=TIniFile.Create(sIniFile);
  TRY
    Result:=FIni.ReadString('tools', 'LClassID', 'FError');
  FINALLY
    FIni.Free;
  END;
END;

FUNCTION ReadReportSQL(AStr:STRING):STRING;
VAR FIni:TIniFile;
BEGIN
  FIni:=TIniFile.Create(sIniFile);
  TRY
    Result:=FIni.ReadString('report', AStr, 'FError');
  FINALLY
    FIni.Free;
  END;
END;

FUNCTION ReadReportSQLEx(AStr:STRING):STRING;
VAR FList:TStrings;
BEGIN
  FList:=TStringList.Create;
  TRY
    FList.LoadFromFile(AppPath.Report+AStr);
    Result:=FList.Text;
  FINALLY
    FList.Free;
  END;
END;

FUNCTION TFDM.GetMaxDJBH:Integer;
VAR sSQL:STRING;
BEGIN
  sSQL:=' SELECT max([AutoID]) as autoid  '
    +' from ['+CurrAccDBName+'].[dbo].['+FDM.GetCustTableEName(sTableNameM)+']';

  TRY
    TRY
      OpenSQL(FDM.aqTemp, sSQL);
      Result:=FDM.aqTemp.FieldByName('autoid').AsInteger;
    EXCEPT
      Result:=0;
    END;
  FINALLY
    FDM.aqTemp.Close;
  END;
END;

FUNCTION TFDM.GetToolsWareList(AList:TStrings):Integer;
VAR sSQL:STRING;
BEGIN
  sSQL:='SELECT [cWhCode], [cWhName] '
    +' FROM ['+CurrAccDBName+'].[dbo].[Warehouse]';
  Result:=-1;
  TRY
    OpenSQL(FDM.aqTemp, sSQL);
    AList.Clear;
    WHILE NOT FDM.aqTemp.Eof DO
    BEGIN
      AList.Add(FDM.aqTemp.FieldByName('cWhCode').AsString
        +'='+FDM.aqTemp.FieldByName('cWhName').AsString);
      FDM.aqTemp.Next;
    END;
    Result:=AList.Count;
  FINALLY
    FDM.aqTemp.Close;
  END;
END;

FUNCTION TFDM.GetAccIDList(AList:TStrings):Integer;
VAR sSQL:STRING;
BEGIN
  sSQL:='SELECT [cAcc_Name], [cAcc_id], [iYear], '
    +' [iMonth], [cAcc_Master], [cUnitName], [cUnitAbbre] '
    +' FROM [UFSystem].[dbo].[UA_Account] ';

  Result:=-1;
  TRY
    OpenSQL(FDM.aqTemp, sSQL);
    AList.Clear;
    WHILE NOT FDM.aqTemp.Eof DO
    BEGIN
      AList.Add(FDM.aqTemp.FieldByName('cAcc_Name').AsString+'('
        +FDM.aqTemp.FieldByName('cAcc_id').AsString+'_'
        +FDM.aqTemp.FieldByName('iYear').AsString+')');
      FDM.aqTemp.Next;
    END;
    Result:=AList.Count;
  FINALLY
    FDM.aqTemp.Close;
  END;
END;

FUNCTION TFDM.GetAccInfoEx(AAccID, aYear:STRING):TAccInfo;
VAR sSQL:STRING;
BEGIN
  sSQL:='SELECT [cAcc_Name], [cAcc_id], cast([iYear] as char(4)) as cYear, '
    +' [iMonth], [cAcc_Master], [cUnitName], [cUnitAbbre] '
    +' FROM [UFSystem].[dbo].[UA_Account] '
    +' WHERE cAcc_id='+Quotedstr(AAccID)+' and iYear='+aYear;

  TRY
    OpenSQL(FDM.aqTemp, sSQL);
    WHILE NOT FDM.aqTemp.Eof DO
    BEGIN
      Result.funit:=FDM.aqTemp.FieldByName('cUnitName').AsString;
      Result.master:=FDM.aqTemp.FieldByName('cAcc_Master').AsString;
      Result.Name:=FDM.aqTemp.FieldByName('cAcc_Name').AsString;
      Result.month:=FDM.aqTemp.FieldByName('iMonth').AsString;

      FDM.aqTemp.Next;
    END;
  FINALLY
    FDM.aqTemp.Close;
  END;
END;

FUNCTION TFDM.GetOneCodeInfo(AName:STRING):TCodeInfo;
VAR sSQL:STRING;
  i:Integer;
BEGIN
  sSQL:='SELECT * FROM ['+CurrAccDBName+'].[dbo].GradeDef '
    +' WHERE GRADECLSNAME='+Quotedstr(AName);

  TRY
    Result.AllLen:=0;

    OpenSQL(FDM.aqTemp, sSQL);
    WHILE NOT FDM.aqTemp.Eof DO
    BEGIN
      Result.chsname:=FDM.aqTemp.FieldByName('GRADECLSNAME').AsString;
      Result.tablename:=FDM.aqTemp.FieldByName('KEYWORD').AsString;
      Result.scode:=FDM.aqTemp.FieldByName('CODINGRULE').AsString;
      Result.length:=length(Result.scode);
      SetLength(Result.icode, Result.length);
      FOR i:=0 TO High(Result.icode) DO
      BEGIN
        Result.icode[i]:=StrToInt(Copy(Result.scode, i+1, 1));
        Result.AllLen:=Result.AllLen+Result.icode[i];
      END;
      FDM.aqTemp.Next;
    END;
  FINALLY
    FDM.aqTemp.Close;
  END;
END;

FUNCTION TFDM.InitModiInvTables:Integer;
BEGIN
  Result:=82;
  SetLength(InvTables, Result);

  InvTables[0].realName:='AdjustPVouchs';
  InvTables[0].chsname:='库存管理的货位调整单子表';
  InvTables[0].keyField:='cInvCode';
  InvTables[1].realName:='AssemVouchs';
  InvTables[1].chsname:='库存管理的组装拆卸形态转换单子表';
  InvTables[1].keyField:='cInvCode';
  InvTables[2].realName:='CheckVouchs';
  InvTables[2].chsname:='库存管理的盘点单子表';
  InvTables[2].keyField:='cInvCode';
  InvTables[3].realName:='CurrentStock';
  InvTables[3].chsname:='库存管理的现存量汇总表';
  InvTables[3].keyField:='cInvCode';
  InvTables[4].realName:='MatchVouchs';
  InvTables[4].chsname:='库存管理的限额领料单子表';
  InvTables[4].keyField:='cInvCode';
  InvTables[5].realName:='RdRecords';
  InvTables[5].chsname:='库存管理的收发记录子表';
  InvTables[5].keyField:='cInvCode';
  InvTables[6].realName:='IA_Subsidiary';
  InvTables[6].chsname:='存货核算的存货明细账';
  InvTables[6].keyField:='cInvCode';
  InvTables[7].realName:='ScrapVouchs';
  InvTables[7].chsname:='库存管理的报废单子表';
  InvTables[7].keyField:='cInvCode';
  InvTables[8].realName:='TransVouchs';
  InvTables[8].chsname:='库存管理的库存调拨单子表';
  InvTables[8].keyField:='cInvCode';
  InvTables[9].realName:='DispatchLists';
  InvTables[9].chsname:='销售管理的发货退货单子表';
  InvTables[9].keyField:='cInvCode';
  InvTables[10].realName:='ExpenseVouchs';
  InvTables[10].chsname:='销售管理的代垫费用单子表';
  InvTables[10].keyField:='cInvCode';
  InvTables[11].realName:='PriceJustify';
  InvTables[11].chsname:='销售管理的销售调价记录表';
  InvTables[11].keyField:='cInvCode';
  InvTables[12].realName:='SA_CusUPrice';
  InvTables[12].chsname:='销售管理的客户销售价格表';
  InvTables[12].keyField:='cInvCode';
  InvTables[13].realName:='SA_InvUPrice';
  InvTables[13].chsname:='销售管理的存货销售价格表';
  InvTables[13].keyField:='cInvCode';
  InvTables[14].realName:='SA_QuantityDisRate';
  InvTables[14].chsname:='销售管理的批量折扣表';
  InvTables[14].keyField:='cInvCode';
  InvTables[15].realName:='SA_QuoDetails';
  InvTables[15].chsname:='销售管理的销售报价单子表';
  InvTables[15].keyField:='cInvCode';
  InvTables[16].realName:='SA_SalePlan';
  InvTables[16].chsname:='销售管理的销售计划表';
  InvTables[16].keyField:='cInvCode';
  InvTables[17].realName:='SA_SettleVouchs';
  InvTables[17].chsname:='销售管理的委托代销结算单子表';
  InvTables[17].keyField:='cInvCode';
  InvTables[18].realName:='SA_WrapLease';
  InvTables[18].chsname:='销售管理的包装物租借退还表';
  InvTables[18].keyField:='cInvCode';
  InvTables[19].realName:='SaleBillVouchs';
  InvTables[19].chsname:='销售管理的销售发票子表';
  InvTables[19].keyField:='cInvCode';
  InvTables[20].realName:='SalePayVouchs';
  InvTables[20].chsname:='销售管理的销售支出单子表';
  InvTables[20].keyField:='cInvCode';
  InvTables[21].realName:='SO_SODetails';
  InvTables[21].chsname:='销售管理的销售订单子表';
  InvTables[21].keyField:='cInvCode';
  InvTables[22].realName:='PU_AppVouchs';
  InvTables[22].chsname:='采购管理的采购请购单子表';
  InvTables[22].keyField:='cInvCode';
  InvTables[23].realName:='PO_Podetails';
  InvTables[23].chsname:='采购管理的采购订单子表';
  InvTables[23].keyField:='cInvCode';
  InvTables[24].realName:='PU_ArrivalVouchs';
  InvTables[24].chsname:='采购管理的采购到货单子表';
  InvTables[24].keyField:='cInvCode';
  InvTables[25].realName:='PurBillVouchs';
  InvTables[25].chsname:='采购管理的采购发票子表';
  InvTables[25].keyField:='cInvCode';
  InvTables[26].realName:='PurSettleVouchs';
  InvTables[26].chsname:='采购管理的采购结算单子表';
  InvTables[26].keyField:='cInvCode';
  InvTables[27].realName:='GSP_VouchDInforms';
  InvTables[27].chsname:='GSP质量管理的报损药品销毁通知单子表';
  InvTables[27].keyField:='cInvCode';
  InvTables[28].realName:='GSP_VouchDRecords';
  InvTables[28].chsname:='GSP质量管理的不合格药品销毁存根子表';
  InvTables[28].keyField:='cInvCode';
  InvTables[29].realName:='GSP_VouchInform';
  InvTables[29].chsname:='GSP质量管理的药品通知单';
  InvTables[29].keyField:='cInvCode';
  InvTables[30].realName:='GSP_VouchInspect';
  InvTables[30].chsname:='GSP质量管理的药品检验单表';
  InvTables[30].keyField:='cInvCode';
  InvTables[31].realName:='GSP_VouchPAudit';
  InvTables[31].chsname:='GSP质量管理的首营药品经营审批表';
  InvTables[31].keyField:='cInvCode';
  InvTables[32].realName:='GSP_VouchQIFeedback';
  InvTables[32].chsname:='GSP质量管理的药品质量信息反馈单';
  InvTables[32].keyField:='cInvCode';
  InvTables[33].realName:='GSP_VouchsNote';
  InvTables[33].chsname:='GSP质量管理的药品记录单子表';
  InvTables[33].keyField:='cInvCode';
  InvTables[34].realName:='GSP_VouchsQC';

⌨️ 快捷键说明

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