private
{ Private declarations }
public
{ Public declarations }
OrderSQL:string;
sVirtualSQL,ListSQL,MasterSQL,GroupSQL,MainSQL:String;
procedure SetMasterSQL(SQL:String);
procedure SetSQL(SQL:String);
procedure SetDetailSQL(SQL:String);
procedure SetState(Value:Boolean);
procedure SetQryOrderSQL(SQL:String);
end;
var
PP_SamplePlanFrm: TPP_SamplePlanFrm;
DepartMent:string;
implementation
uses UntWaxConst;
{$R *.dfm}
function CreateBplForm(ParamList: TStrings): TForm;
begin
DepartMent:=ParamList.Values['DepartMent'];
PP_SamplePlanFrm := TPP_SamplePlanFrm.Create(Application);
Result := PP_SamplePlanFrm;
end;
procedure TPP_SamplePlanFrm.btnExitClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TPP_SamplePlanFrm.FormShow(Sender: TObject);
var StrA:string;
begin
inherited;
OrderSQL:=' Select Distinct K.sSaleOrderNo from SD_ProdNote_D H '+
' Left Join dbo.SD_ProdNote_M I On I.Guid=H.SD_ProdNote_MGuid '+
' Left Join dbo.SD_Order_D J On J.Guid=I.SD_Order_DGuid '+
' Left Join dbo.SD_Order_M K On K.Guid=J.SD_Order_MGuid '+
' Where 1=1 '+
' Order by K.sSaleOrderNo Desc ';
if Trim(DepartMent)<>'' then
begin
strA:=' Select sEmployeeID,sEmployeeName,sDeptID from BD_Person A '+
' Where sUpdateStatus<>''delete'' and sDeptID='+QuotedStr(DepartMent);
qryUser.SQL.Text := strA;
lpkUser.SQL.Text :=strA;
lpkUser.SearchSQL.Text :=StrA;
end;
qryUser.Open;
ListSQL:=' Select A.*,D.sCustCode,D.sCustName '+
' From PP_LabDye_M A '+
' Left Join SD_Customer D On D.Guid=A.SD_CustomerGUID ';
MasterSQL:=' Select D.sCustCode,D.sCustName, B.sCustFab,B.dDate,B.GUID '+
' From PP_LabDye_D A '+
' Left Join PP_LabDye_M B On B.Guid=A.DSampMGUID '+
' Left Join SD_Customer D On D.Guid=B.SD_CustomerGUID ';
GroupSQL:= ' Group By D.sCustCode,D.sCustName,B.sCustFab,B.dDate,B.GUID ';
MainSQL:=' Select A.*,C.dDate,C.fQuanControll As MfQuanControll,E.sEmployeeName,E1.sEmployeeName AS EmployeeName, G.sSysDataName '+
' As sCup,F.sSysDataName As sSeason,C.sCustFab, C.sSampleNO,D.sCustName '+
' From PP_LabDye_D A '+
' Left join PP_LabDye_M C On C.guid=A.DSampMGUID '+
' Left join SD_Customer D On D.guid=C.SD_CustomerGUID '+
' Left join BD_Person E On E.sEmployeeID=A.sUserID '+
' Left join BD_Person E1 On E1.sEmployeeID=A.sInputManID '+
' Left Join SysDataList G On G.sSysDataGroupId=''3008'' And G.sSysDataId=A.sCupID '+
' Left Join SysDataList F On F.sSysDataGroupId=''1009'' And F.sSysDataId=A.sSeasonID '+
' Order by A.dInputDate Desc ';
sVirtualSQL:= ' union '+
' Select D.sCustCode,D.sCustName, B.sCustFab,B.dDate,B.GUID '+
' From PP_LabDye_D A '+
' Left Join PP_LabDye_M B On B.Guid=A.DSampMGUID '+
' Left Join SD_Customer D On D.Guid=B.SD_CustomerGUID'+
' where sVirtual=''y''';
qryDifficulty.Connection :=Self.Connection ;
qryDifficulty.Open;
end;
procedure TPP_SamplePlanFrm.lpkCustomerLookUpPost(Sender: TObject);
begin
inherited;
SetMasterSQL(MakeSQL(MasterSQL,' D.sCustCode='+QuotedStr(lpkCustomer.Values['sCustCode']))+GroupSQL);
if qryMaster.IsEmpty then
begin
SetSQL(MakeSQL(ListSQL,' 1=2'));
SetDetailSQL(MakeSQL(MainSQL,' 1=2'));
end;
end;
他在前面定義了幾個sql,后期用紅色部分的陳述句來處理,這是什么意思啊?還有如果用C#改寫,這段代碼應該怎么改寫。。。求各位大神指點一下,本人是新人
uj5u.com熱心網友回復:
沒什么特別的,一開始先給MasterSQL附了值,然后點擊時,呼叫一個方法,看似過濾,根據某個條件過濾,是在MasterSQL陳述句查詢出的結果中過濾uj5u.com熱心網友回復:
也就是說他下面運行得出的SQL其實就是所有條件運行后的SQL嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/80227.html
標籤:數據庫相關
上一篇:海康7804硬碟錄像機 字符疊加
