Exemplo n.º 1
0
        /// <summary>
        /// Write column names and returns values to be inserted
        /// </summary>
        /// <param name="arguments"></param>
        /// <param name="tableInfo"></param>
        /// <param name="provider"></param>
        /// <param name="sb"></param>
        /// <returns></returns>
        private static List <object> FillArgs(IDictionary <string, object> arguments, TableInfo tableInfo,
                                              IHaveDbProvider provider,
                                              StringBuilder sb = null)
        {
            var args = new List <object>();

            foreach (var col in arguments)
            {
                if (col.Key == tableInfo.PrimaryKey)
                {
                    if (tableInfo.AutoGenerated)
                    {
                        continue;
                    }
                }

                if (tableInfo.Excludes.Any(n => n.Equals(col.Key, StringComparison.InvariantCulture)))
                {
                    continue;
                }
                if (sb != null)
                {
                    sb.AppendFormat("{0},", provider.EscapeName(col.Key));
                }
                if (tableInfo.ConvertToString.Any(t => t == col.Key))
                {
                    args.Add(col.Value.ToString());
                }
                else
                {
                    args.Add(col.Value);
                }
            }
            return(args);
        }
Exemplo n.º 2
0
 public SqlFuConnection(DbConnection cnx,DbEngine engine)
 {
     cnx.MustNotBeNull();
     _conex = cnx;
     _provider = ProviderFactory.GetProvider(engine);
     _conex.Open();
 }
Exemplo n.º 3
0
 private void Init(string cnxString, IHaveDbProvider provider)
 {
     cnxString.MustNotBeEmpty();
     provider.MustNotBeNull();
     _provider  = provider;
     _cnxString = cnxString;
     KeepAlive  = false;
 }
Exemplo n.º 4
0
 private void Init(string cnxString, IHaveDbProvider provider)
 {
     cnxString.MustNotBeEmpty();
     provider.MustNotBeNull();
     _provider = provider;
     _conex    = _provider.CreateConnection();
     _conex.ConnectionString = cnxString;
     Connection.Open();
 }
Exemplo n.º 5
0
 private void Init(string cnxString, IHaveDbProvider provider)
 {
     cnxString.MustNotBeEmpty();
     provider.MustNotBeNull();
     _provider = provider;
     _conex = _provider.CreateConnection();
     _conex.ConnectionString = cnxString;
     Connection.Open();
 }
Exemplo n.º 6
0
        public static string EscapeSql(this IHaveDbProvider provider, string sql)
        {
            if (sql.IsNullOrEmpty())
            {
                return(sql);
            }
            if (sql.IndexOf(EscapeSqlMarker) < 0)
            {
                return(sql);
            }
            var  sb           = new StringBuilder(sql.Length * 2);
            bool inIdentifier = false;

            char[] delimiters = new[]
            { ',', ' ', '\t', '\n', '\r', '=', '<', '>', ':', '(', ')', ']', '+', '-', '*', '/', '%' };
            List <char> identifier = new List <char>(16);

            foreach (var c in sql)
            {
                if (inIdentifier)
                {
                    if (c == EscapeSqlMarker || delimiters.Any(d => d == c))
                    {
                        inIdentifier = false;
                        if (c != EscapeSqlMarker)
                        {
                            sb.Append(provider.EscapeName(new string(identifier.ToArray())));
                        }
                        sb.Append(c);
                        identifier.Clear();
                    }
                    else
                    {
                        identifier.Add(c);
                    }
                    continue;
                }
                if (c == EscapeSqlMarker)
                {
                    inIdentifier = true;
                }
                else
                {
                    sb.Append(c);
                }
            }
            if (identifier.Count > 0)
            {
                sb.Append(provider.EscapeName(new string(identifier.ToArray())));
            }
            return(sb.ToString());
        }
Exemplo n.º 7
0
 public PrepareStatement(IHaveDbProvider provider, string sql, params object[] args)
 {
     Provider = provider;
     _sql = sql;
     _args = args;
 }
Exemplo n.º 8
0
 public DbAccess(string cnxString, IHaveDbProvider provider)
 {
     Init(cnxString, provider);
 }
Exemplo n.º 9
0
 public SqlFuConnection(string cnxString, IHaveDbProvider provider)
 {
     Init(cnxString, provider);
 }
Exemplo n.º 10
0
 public PreparePagedStatement(IHaveDbProvider provider, long skip, int take, string sql, params object[] args)
     : base(provider, sql, args)
 {
     _skip = skip;
     _take = take;
 }
Exemplo n.º 11
0
 public PrepareStatement(IHaveDbProvider provider, string sql, params object[] args)
 {
     Provider = provider;
     _sql     = sql;
     _args    = args;
 }
Exemplo n.º 12
0
 public SqlFuConnection(string cnxString, IHaveDbProvider provider)
 {
     Init(cnxString, provider);
 }
Exemplo n.º 13
0
 public PreparePagedStatement(IHaveDbProvider provider, long skip, int take, string sql, params object[] args)
     : base(provider, sql, args)
 {
     _skip = skip;
     _take = take;
 }