public void FetchQuery(Type type, Delegate_Fetch_Handler handler, IDataReader reader)
 {
     if (null != handler)
     {
         while (reader != null && reader.Read())
         {
             handler(this.Init(type, reader));
         }
     }
 }
 public void FetchQuery <T>(Delegate_Fetch_Handler handler, IDataReader reader) where T : class
 {
     if (null != handler)
     {
         while (reader != null && reader.Read())
         {
             handler(this.Init <T>(reader));
         }
     }
 }
        public void FetchQuery <T>(Delegate_Fetch_Handler handler, IDbConnection conn, string strSql, params object[] parameters) where T : class
        {
            IDataReader dataReader = null;

            try
            {
                Type     typeFromHandle = typeof(T);
                TableMap tableMap       = TableMapFactory.Instance[typeFromHandle];
                if (null == tableMap)
                {
                    throw new ORMException("构造" + typeFromHandle.FullName + "的映射产生错误");
                }
                if (strSql == null || strSql.Trim().Length < 1)
                {
                    strSql = "select * from " + tableMap.TableName;
                }
                else if (strSql.Trim().ToLower().StartsWith("order"))
                {
                    strSql = "select * from " + tableMap.TableName + " " + strSql;
                }
                else if (!strSql.Trim().ToLower().StartsWith("select"))
                {
                    if (!strSql.Trim().ToLower().StartsWith("where "))
                    {
                        strSql = "where " + strSql;
                    }
                    strSql = "select * from " + tableMap.TableName + " " + strSql;
                }
                IDbCommand dbCommand = this.PrepareCommand(conn, strSql, parameters);
                if (this.Verbose)
                {
                    this.VerboseInfo(dbCommand);
                }
                dataReader = dbCommand.ExecuteReader();
                this.FetchQuery <T>(handler, dataReader);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (null != dataReader)
                {
                    dataReader.Close();
                }
            }
        }
Beispiel #4
0
 public void FetchQuery(Type t, Delegate_Fetch_Handler handler)
 {
     base.FetchQuery(t, handler, this.m_connection, null, new object[0]);
 }
Beispiel #5
0
 public void FetchQuery(Type t, Delegate_Fetch_Handler handler, string strSql, params object[] parameters)
 {
     base.FetchQuery(t, handler, this.m_connection, strSql, parameters);
 }
Beispiel #6
0
 public void FetchQuery <T>(Delegate_Fetch_Handler handler) where T : class
 {
     base.FetchQuery <T>(handler, this.m_connection, null, new object[0]);
 }
Beispiel #7
0
 public void FetchQuery <T>(Delegate_Fetch_Handler handler, string strSql, params object[] parameters) where T : class
 {
     base.FetchQuery <T>(handler, this.m_connection, strSql, parameters);
 }