private void LoadTableSchema(TableInfo table, DbCon db) { using (IDataReader dr = db.ExecuteDataReader("select * from " + dbType.FormatDbObj(table.TableName) + " WHERE 1 = 0")) { //Monta o Header DataTable dt = dr.GetSchemaTable(); // db TableColumn rf; foreach (DataRow drr in dt.Rows) { rf = table.Columns.FirstOrDefault(o => o.Name == drr["ColumnName"].ToString()); if (rf == null) { rf = new TableColumn(); table.Columns.Add(rf); } rf.Checked = true; //rf.Value = dr.GetValue(Convert.ToInt32(drr["ColumnOrdinal"])); rf.Name = drr["ColumnName"].ToString(); rf.IsKey = Convert.ToBoolean((drr["IsKey"] is DBNull ? false : drr["IsKey"])); rf.DefinedSize = Convert.ToInt32(drr["ColumnSize"]); rf.AllowNull = Convert.ToBoolean(drr["AllowDBNull"]); rf.TypeName = ((Type)drr["DataType"]).Name; if (!(drr["NumericPrecision"] is DBNull)) { rf.Precision = Convert.ToInt32(drr["NumericPrecision"]); } if (!(drr["NumericScale"] is DBNull)) { rf.Decimals = Convert.ToInt32(drr["NumericScale"]); } rf.IsAutoIncrement = Convert.ToBoolean(drr["IsAutoIncrement"]); if (rf.IsKey) { if (!table.Keys.Exists(o => o.Equals(rf.Name, StringComparison.CurrentCultureIgnoreCase))) { table.Keys.Add(rf.Name); } } } if (table.Keys.Count == 1) { table.ColumnKeyName = table.Keys[0]; } } }
public DbTaskRunner(DbCon dbConnection, MessageHandler messageHandler) { this.dbConnection = dbConnection; this.dbType = dbConnection.DbConnectionInfo.DbType; this.messageHandler = messageHandler; }
public DbSyncRunner(DbCon dbConnection, MessageHandler messageHandler) : base(dbConnection, messageHandler) { }
public DbTableLoader(DbCon dbConnection, MessageHandler messageHandler) : base(dbConnection, messageHandler) { }