Example #1
0
 public void AddSchemaAndTablenameParametersToCommand(IDbCommand dc, SchemaObjectName tableOrViewname)
 {
     if (tableOrViewname.HasSchema())
     {
         AddInput(dc, "dbname", tableOrViewname.Schema);
     }
     AddInput(dc, "tablename", tableOrViewname.Name);
 }
Example #2
0
        public override Dictionary <string, DbParameterAccessor> GetAllColumns(string tableOrViewName)
        {
            String[]         qualifiers = NameNormaliser.NormaliseName(tableOrViewName).Split('.');
            SchemaObjectName name       = SchemaObjectName.Parse(qualifiers);
            string           qry        = GetAllColumnsSql(name);

            return(ReadIntoParams(name, qry));
        }
Example #3
0
        public string GetAllColumnsSql(SchemaObjectName tableOrViewName)
        {
            StringBuilder query = new StringBuilder();

            query
            .Append("SELECT column_name, data_type, character_maximum_length as data_type_size ")
            .Append("FROM information_schema.columns ")
            .Append("WHERE ");

            if (tableOrViewName.HasSchema())
            {
                query.Append("LOWER(table_schema)=?dbname AND LOWER(table_name)=?tablename ");
            }
            else
            {
                query.Append("(table_schema=database() AND LOWER(table_name)=?tablename) ");
            }

            query.Append("ORDER BY ordinal_position");

            return(query.ToString());
        }
Example #4
0
        private Dictionary <string, DbParameterAccessor> ReadIntoParams(SchemaObjectName tableOrViewname, string query)
        {
            Dictionary <string, DbParameterAccessor> accessorDictionary = new Dictionary <string, DbParameterAccessor>();
            int       position = 0;
            DbCommand dc       = CurrentConnection.CreateCommand();

            dc.Transaction = CurrentTransaction;
            dc.CommandText = query;
            dc.CommandType = CommandType.Text;

            AddSchemaAndTablenameParametersToCommand(dc, tableOrViewname);

            using (DbDataReader reader = dc.ExecuteReader())
            {
                while (reader.Read())
                {
                    DbParameterAccessor accessor = MySqlTypeConverter.BuildDbParameterAccessorFrom(reader, position++);
                    Console.WriteLine("DbParameter DbFieldName={0}", accessor.DbFieldName);
                    accessorDictionary.Add(accessor.DbFieldName.ToLowerInvariant(), accessor);
                }
            }

            return(accessorDictionary);
        }
Example #5
0
 public void AddSchemaAndTablenameParametersToCommand(IDbCommand dc, SchemaObjectName tableOrViewname)
 {
     if (tableOrViewname.HasSchema()) AddInput(dc, "dbname", tableOrViewname.Schema);
     AddInput(dc, "tablename", tableOrViewname.Name);
 }
Example #6
0
        private Dictionary<string, DbParameterAccessor> ReadIntoParams(SchemaObjectName tableOrViewname, string query)
        {
            Dictionary<string, DbParameterAccessor> accessorDictionary = new Dictionary<string, DbParameterAccessor>();
            int position = 0;
            DbCommand dc = CurrentConnection.CreateCommand();
            dc.Transaction = CurrentTransaction;
            dc.CommandText = query;
            dc.CommandType = CommandType.Text;
            
            AddSchemaAndTablenameParametersToCommand(dc, tableOrViewname);

            using(DbDataReader reader = dc.ExecuteReader())
            {
                while (reader.Read())
                {
                    DbParameterAccessor accessor = MySqlTypeConverter.BuildDbParameterAccessorFrom(reader, position++);
                    Console.WriteLine("DbParameter DbFieldName={0}", accessor.DbFieldName);
                    accessorDictionary.Add(accessor.DbFieldName.ToLowerInvariant(), accessor);
                }
            }

            return accessorDictionary;
        }
Example #7
0
        public string GetAllColumnsSql(SchemaObjectName tableOrViewName)
        {
            StringBuilder query = new StringBuilder();
            
            query
                .Append("SELECT column_name, data_type, character_maximum_length as data_type_size ")
                .Append("FROM information_schema.columns ")
                .Append("WHERE ");

            if(tableOrViewName.HasSchema())
            {
                query.Append("LOWER(table_schema)=?dbname AND LOWER(table_name)=?tablename ");
            }
            else
            {
                query.Append("(table_schema=database() AND LOWER(table_name)=?tablename) ");
            }

            query.Append("ORDER BY ordinal_position");

            return query.ToString();
        }