static void TestGenericColumn() { GenericColumn <int> ti = new GenericColumn <int>("TInt"); GenericColumn <int?> tin = new GenericColumn <int?>("TIntN"); MSSQLDataBase db = new MSSQLDataBase("User Id=bpi;Password=yuantacps;Data Source=TS03"); DataTable dt = db.QueryCommand("SELECT NULL as TInt, NULL as TIntN FROM ptUnitTrader"); DataRow dr = dt.Rows[0]; ti.FillData(dr); tin.FillData(dr); bool isSupportNull = true; string s1 = dr.IsNull("TInt") ? (isSupportNull ? null : "default") : dr["TInt"].ToString(); }
/// <summary> /// 測試AbstractWHEREStatement /// </summary> static void TestWHEREStatement() { IDataBase db = new MSSQLDataBase("User Id=bpi;Password=yuantacps;Data Source=TS03"); // 基本用法 AbstractWHEREStatement where = new AbstractWHEREStatement("TxDate", RelationEnum.Equal, new DateTime(2011, 3, 3)); string s = where.ToString(db); Console.WriteLine(s); where.AddCondition(ConditionEnum.AND, "TID", RelationEnum.Equal, 1008); where.AddCondition(ConditionEnum.AND, "AID", RelationEnum.GreatThan, 104); s = where.ToString(db); Console.WriteLine(s); // 組成between where.Clear(); where.AddCondition("TxDate", RelationEnum.Equal, new DateTime(2012, 3, 3)); where.AddUnaryOperator(ConditionEnum.AND); where.AddUnaryOperator(BraketEnum.OpenBraket); where.AddCondition("TID", RelationEnum.Equal, 1008); where.AddCondition(ConditionEnum.OR, "TID", RelationEnum.Equal, 1026); where.AddUnaryOperator(BraketEnum.CloseBraket); // order by where.AddOrderBy("TxDate", SortEnum.DESC); where.AddOrderBy("TID", SortEnum.ASC); s = where.ToString(db); Console.WriteLine(s); // 在AbstractWHEREStatement中再加入其它AbstractWHEREStatement AbstractWHEREStatement whereOut = new AbstractWHEREStatement(); whereOut.AddCondition(where); s = whereOut.ToString(db); Console.WriteLine(s); }