/// <summary> /// 建構式。 /// </summary> /// <param name="helper">資料庫命令輔助類別介面。</param> /// <param name="programDefine">程式定義。</param> /// <param name="tableName">資料表名稱。</param> /// <param name="tableJoinProvider">資料表關連資訊提供者。</param> /// <param name="filterItems">資料過濾條件項目集合。</param> /// <param name="sessionInfo">存取連線相關資料的輔助類別。</param> /// <param name="enableDbParameter">過濾條件是否啟用 DB 參數。</param> public GFilterInputArgs(IDbCommandHelper helper, GProgramDefine programDefine, string tableName, GTableJoinProvider tableJoinProvider, GFilterItemCollection filterItems, GSessionInfo sessionInfo, bool enableDbParameter) { DbCommandHelper = helper; ProgramDefine = programDefine; TableName = tableName; TableJoinProvider = tableJoinProvider; FilterItems = filterItems; SessionInfo = sessionInfo; EnableDbParameter = enableDbParameter; }
/// <summary> /// 建立資料庫命令產生器。 /// </summary> /// <param name="sessionInfo">連線資訊。</param> /// <param name="programDefine">程式定義。</param> public static IDbCommandBuilder CreateDbCommandBuilder(GSessionInfo sessionInfo, GProgramDefine programDefine) { string sMessage; switch (sessionInfo.DatabaseType) { case EDatabaseType.SQLServer: return(new GSqlCommandBuilder(sessionInfo.SessionGuid, programDefine)); case EDatabaseType.Oracle: return(new GOracleCommandBuilder(sessionInfo.SessionGuid, programDefine)); default: sMessage = StrFunc.StrFormat(@"DatabaseType={0} Not Supported IDbCommandBuilder", BaseFunc.GetEnumName(sessionInfo.DatabaseType)); throw new NotSupportedException(sMessage); } }