示例#1
0
        /// <summary>
        /// Sql命令进行格式化,把对应的ID={i}转化成对应的ID=?
        /// </summary>
        /// <param name="cmd"></param>
        /// <param name="provider">访问管理器</param>
        /// <param name="sql">格式化的Sql文本</param>
        /// <param name="paramers">格式化的参数集</param>
        static string Format(SqlParamer pfx, DbCommonProvider provider, bool autoPfx, DbCommand cmd, String sql, object[] paramers)
        {
            pfx.autoPfx  = autoPfx;
            pfx.provider = provider;
            pfx.cmd      = cmd;
            pfx.paramers = paramers;
            pfx.paramPfx = "A";
            string prefixion = provider.Prefixion;

            if (String.IsNullOrEmpty(prefixion) == false)
            {
                switch (provider.Delimiter)
                {
                case ".":
                    pfx.Prefixion = String.Format("{0}{1}{2}.{0}", provider.QuotePrefix, prefixion, provider.QuoteSuffix);
                    break;

                default:
                    pfx.Prefixion = String.Format("{0}{1}{2}", provider.QuotePrefix, prefixion, provider.Delimiter);
                    break;
                }
            }
            else
            {
                pfx.Prefixion = provider.QuotePrefix;
            }
            return(pfx.Do(sql).ToString());
        }
示例#2
0
        /// <summary>
        /// 对应的表字段
        /// </summary>
        public EntityHelper(DbCommonProvider dbProvider, Type type, String tableName)
        {
            this.Provider  = dbProvider;
            this.Arguments = new List <object>();
            this.Fields    = new List <FieldInfo>();
            this.ObjType   = type;
            if (String.IsNullOrEmpty(tableName))
            {
                object[] objs = type.GetCustomAttributes(false);
                foreach (object o in objs)
                {
                    if (o is TableAttribute)
                    {
                        TableInfo = o as TableAttribute;
                        tableName = TableInfo.Name;
                        break;
                    }
                }
                if (String.IsNullOrEmpty(tableName))
                {
                    tableName = type.Name;
                }
            }

            Bind(type, tableName);
        }
示例#3
0
 public ObjectEntity(Sqler sqler, string tableName)
 {
     this.db        = sqler.DbProvider;
     this.cond      = new Conditions <T>(this);
     this.seq       = new Sequencer <T>(this);
     this.SqlHelper = new EntityHelper(this.db, typeof(T), tableName);
     this.sqler     = sqler;
 }
示例#4
0
        public static string Format(DbCommonProvider provider, bool autoPfx, DbCommand cmd, String sql, System.Collections.IDictionary diction)
        {
            var        parms = new List <object>();
            SqlParamer pfx   = new SqlParamer();

            AppendDictionary(diction, provider.Prefixion);
            System.Collections.IDictionaryEnumerator em = diction.GetEnumerator();
            while (em.MoveNext())
            {
                if (em.Key is String)
                {
                    pfx.keys.Add(em.Key as string);
                    parms.Add(em.Value);
                }
            }
            return(Format(pfx, provider, autoPfx, cmd, sql, parms.ToArray()));
        }
示例#5
0
 public DbCommonFactory(DbCommonProvider dbProvider, string con) : this(dbProvider) { }
示例#6
0
 //string conString;
 /// <summary>
 /// 用数据连接字符串初始化访问工厂
 /// </summary>
 /// <param name="dbProvider">访问管理器</param>
 public DbCommonFactory(DbCommonProvider dbProvider)
 {
     this.Provider = dbProvider;
     //this.conString = conString;
     this.Progress = this.ConnectionProgress;
 }
示例#7
0
 public Inserter(Sqler sqler)
 {
     this.dbProvider = sqler.DbProvider;
     this.sqler      = sqler;
 }
示例#8
0
 public EntityHelper(DbCommonProvider dbProvider, Type type)
     : this(dbProvider, type, String.Empty)
 {
 }
示例#9
0
 public Sqler(DbCommonProvider dbProvider, CommandProgress progress, bool autoPfx)
 {
     this.dbProvider = dbProvider;
     this.Command    = progress;
     this.isAutoPfx  = autoPfx;
 }
示例#10
0
 public Sqler(DbCommonProvider dbProvider, CommandProgress progress)
 {
     this.dbProvider = dbProvider;
     this.Command    = progress;
     this.isAutoPfx  = true;
 }
示例#11
0
 public static string Format(DbCommonProvider provider, bool autoPfx, DbCommand cmd, String sql, object[] paramers)
 {
     return(Format(new SqlParamer(), provider, autoPfx, cmd, sql, paramers));
 }