void cargarDataView(NpgsqlConnection connect, string sentencia, NpgsqlCommand cmd, NpgsqlDataReader lector) { //dgvQuotation.Rows.Clear(); conexion.Open(); cmd = new NpgsqlCommand(sentencia, conexion); lector = cmd.ExecuteReader(); //int precioCargado = 0; while (lector.Read()) { int renglon = dgvQuotation.Rows.Add(); dgvQuotation.Rows[renglon].Cells["isbn"].Value = lector.GetString(lector.GetOrdinal("isbn")); dgvQuotation.Rows[renglon].Cells["nombre"].Value = lector.GetString(lector.GetOrdinal("nombre")); dgvQuotation.Rows[renglon].Cells["autor"].Value = lector.GetString(2); dgvQuotation.Rows[renglon].Cells["editorial"].Value = lector.GetString(3); precioMostrado += lector.GetInt32(6); dgvQuotation.Rows[renglon].Cells["precio"].Value = lector.GetInt32(6).ToString(); dgvQuotation.Rows[renglon].Cells["cantidad"].Value = lector.GetInt32(5).ToString(); } conexion.Close(); }
public static QuandlDataset MakeQuandlDataset(NpgsqlDataReader row) { var dataset = new QuandlDataset() { Id = (long)row["id"], DatasetCode = (string)row["datasetcode"], DatabaseCode = (string)row["databasecode"], Name = (string)row["name"], Description = (string)row["description"], NewestAvailableDate = row.GetDateTime(row.GetOrdinal("newestavailabledate")), OldestAvailableDate = row.GetDateTime(row.GetOrdinal("oldestavailabledate")), //NewestAvailableDate = (DateTime)row["newestavailabledate"], //OldestAvailableDate = (DateTime)row["oldestavailabledate"], ColumnNames = row["columnnames"].ToString() .Split(',') .Select(x => x.Trim()) .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList(), Frequency = (string)row["frequency"], Type = (string)row["type"], Premium = (bool)row["premium"], DatabaseId = (long)row["databaseid"], Import = (bool)row["import"] }; return(dataset); }
private async Task <Dictionary <string, long> > GetAllExecutionCyclesCounts() { Dictionary <string, long> payloadCyclesCounts = new Dictionary <string, long>(); string getCyclesSql = $@"SELECT et_payload_type, et_n_execution_cycles FROM {TestOptions.DefaultMapping.ExecutionTimeStatsTableName}" ; using (NpgsqlConnection conn = await OpenDbConnectionAsync(CommonConnectionString)) using (NpgsqlCommand cmd = new NpgsqlCommand(getCyclesSql, conn)) using (NpgsqlDataReader rdr = await cmd.ExecuteReaderAsync()) { while (await rdr.ReadAsync()) { string payloadType = rdr.GetString(rdr .GetOrdinal("et_payload_type")); long executionCycles = rdr.GetInt64(rdr .GetOrdinal("et_n_execution_cycles")); payloadCyclesCounts.Add(payloadType, executionCycles); } } return(payloadCyclesCounts); }
/// <summary> /// Retrieves the bounds as points. /// </summary> /// <param name="topLeftPoint">The point which will represent the top-left of the bounds</param> /// <param name="bottomRightPoint">The point which will represent the bottom-right of the bounds</param> public void GetBounds(PostGisPoint topLeftPoint, PostGisPoint bottomRightPoint) { // Ensure that the database connection is open if (mConnection.FullState != ConnectionState.Open) { return; } // Error catching try { // Initialize the command using NpgsqlCommand command = new NpgsqlCommand( "SELECT name, ST_AsText(ST_Transform(geom, 3857)) AS point FROM bounds;", mConnection); // Execute the command and start reading the results using NpgsqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { // Get the string representation of the name and point string name = reader.GetString(reader.GetOrdinal("name")); string point = reader.GetString(reader.GetOrdinal("point")); // Check which point was read if (name.Equals("top_left")) { // Parse top left point topLeftPoint.X = double.Parse(point[(point.IndexOf("(") + 1)..point.IndexOf(" ")]);
public List <FoodStuff> getFoodStuffsByCategoryId(int cateoryId) { List <FoodStuff> foodStuffs = new List <FoodStuff>(); string sqlQuery = "SELECT * from main.get_food_stuffs_by_category_id(:c_id)"; try { dataBase = new DataBase(); var npgComm = dataBase.getNpgCommandForRequest(sqlQuery); npgComm.Parameters.AddWithValue(":c_id", cateoryId); NpgsqlDataReader reader = npgComm.ExecuteReader(); while (reader.Read()) { FoodStuff foodStuff = new FoodStuff(); foodStuff.Id = reader.IsDBNull(reader.GetOrdinal("id")) ? 0 : reader.GetInt32(reader.GetOrdinal("id")); foodStuff.Name = reader.IsDBNull(reader.GetOrdinal("name")) ? string.Empty : reader.GetString(reader.GetOrdinal("name")); foodStuff.Price = reader.IsDBNull(reader.GetOrdinal("price")) ? 0 : reader.GetFloat(reader.GetOrdinal("price")); foodStuff.Cost = reader.IsDBNull(reader.GetOrdinal("food_cost")) ? 0 : reader.GetFloat(reader.GetOrdinal("food_cost")); foodStuff.Category.Id = reader.IsDBNull(reader.GetOrdinal("category_id")) ? 0 : reader.GetInt32(reader.GetOrdinal("category_id")); foodStuffs.Add(foodStuff); } } finally { dataBase.CloseAndDispose(); } return(foodStuffs); }
public static List <TravellerObject> SelectTravellers(int limit, int offset) { List <TravellerObject> returnObj = new List <TravellerObject>(); NpgsqlConnection conn = null; NpgsqlDataReader dr = null; try { conn = OpenConnectionAndGetReader("SELECT * from traveller order by lower(email) limit :p0 offset :p1;", out dr, limit, offset); while (dr.Read()) { string email = dr.GetFieldValue <string>(dr.GetOrdinal("email")); string hashedPassword = dr.GetFieldValue <string>(dr.GetOrdinal("password")); string name = dr.GetFieldValue <string>(dr.GetOrdinal("name")); string address = dr.GetFieldValue <string>(dr.GetOrdinal("address")); string phone = dr.GetFieldValue <string>(dr.GetOrdinal("phone")); returnObj.Add(new TravellerObject(email, hashedPassword, name, address, phone)); } } finally { conn.Close(); } return(returnObj); }
public static Project GetProject(string projectID) { using (NpgsqlConnection con = new NpgsqlConnection(connectionString)) { try { con.Open(); string sql = "SELECT * FROM Projects WHERE id = @ID"; NpgsqlCommand cmd = new NpgsqlCommand(sql, con); cmd.Parameters.AddWithValue("ID", projectID); NpgsqlDataReader results = cmd.ExecuteReader(); if (results.Read()) { string name = results.GetString(results.GetOrdinal("name")); string description = results.GetString(results.GetOrdinal("description")); int max_grade = results.GetInt32(results.GetOrdinal("max_grade")); DateTime due_date = results.GetTimeStamp(results.GetOrdinal("due_date")).ToDateTime(); return(new Project(projectID, name, description, max_grade, due_date)); } else { MessageBox.Show("No project with id: " + projectID + " found!"); return(null); } } catch (Exception msg) { MessageBox.Show("There was a problem while executing this action. Please contact the developers."); return(null); } } }
public List <Activity> GetActivitiesForDay(int day, int month) { var result = new List <Activity>(); var conn = Connection(); var command = new NpgsqlCommand("SELECT description, timespent, day FROM \"Activities\" WHERE day=@day AND month=@month", conn); command.Parameters.AddWithValue("@day", day); command.Parameters.AddWithValue("@month", month); NpgsqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { var atual = new Activity { Description = reader.GetString(reader.GetOrdinal("description")), Day = day, Month = month, TimeSpent = reader.GetInt32(reader.GetOrdinal("timespent")) }; result.Add(atual); } conn.Close(); return(result); }
/// <summary> /// Kargo Şirketlerini Reader İle Getiren Fonksiyon /// </summary> /// <returns></returns> public List <ShippingCompany> GetShippingCompanies() { List <ShippingCompany> shippingCompanies = new List <ShippingCompany>(); // kargo şirketleri nesnesi oluşturuluyor. try { database = new Database(); // database nesnesi oluşturuluyor. using (database) { reader = database.Select("cargo", "companies"); // database'de "cargo" şeması altında bulunan "companies" fonksiyonundan, kargo şirketleri reader'a atılıyor. if (reader != null) // reader boş değil ise... { while (reader.Read()) // reader'da bulunan veriler shippingCompanies nesnesine ekleniyor. { shippingCompanies.Add( new ShippingCompany { Id = reader.GetInt32(reader.GetOrdinal("id")), Name = reader.GetString(reader.GetOrdinal("name")) } ); } } } } catch (Exception ex) // reader boş ise hata yakalanıyor ve log oluşturuluyor. { logger.CreateLog(ex.Message); } return(shippingCompanies); // işlemler bittikten sonra shippingCompanies nesnesi döndürülüyor. }
private async Task <List <AppMetric> > GetDbAppMetricsAsync() { List <AppMetric> dbMetrics = new List <AppMetric>(); using (NpgsqlConnection conn = await OpenDbConnectionAsync(ConnectionString)) using (NpgsqlCommand cmd = new NpgsqlCommand($"SELECT * from {TestOptions.DefaultMapping.MetricsTableName}", conn)) { using (NpgsqlDataReader rdr = await cmd.ExecuteReaderAsync()) { while (await rdr.ReadAsync()) { AppMetricId mId = new AppMetricId( rdr.GetString(rdr.GetOrdinal("metric_id")), rdr.GetString(rdr.GetOrdinal("metric_category")) ); AppMetric metric = new AppMetric(mId, rdr.GetInt64(rdr.GetOrdinal("metric_value"))); dbMetrics.Add(metric); } } await conn.CloseAsync(); } return(dbMetrics); }
public List <ScoreModel> GetAll() { var result = new List <ScoreModel>(); using NpgsqlConnection con = new NpgsqlConnection("Host=localhost;Username=postgres;Password=perviz;Database=testdatabase"); con.Open(); NpgsqlCommand com = new NpgsqlCommand("SELECT * FROM score Order by second ASC; ", con); NpgsqlDataReader rdr = com.ExecuteReader(); while (rdr.Read()) { ScoreModel scoremodel = new ScoreModel(); var NameOrdinal = rdr.GetOrdinal("username"); scoremodel.Username = rdr.GetString(NameOrdinal); var secondOrdinal = rdr.GetOrdinal("second"); scoremodel.Second = rdr.GetInt32(secondOrdinal); var DateTimeOrdinal = rdr.GetOrdinal("time"); scoremodel.DateTime = rdr.GetDateTime(DateTimeOrdinal); result.Add(scoremodel); } // get alla scores from Database return(result); }
async public Task <Ciudad> Find(long Id) { try { Ciudad miObjecto = new Ciudad(); int registros = 0; bool existe = await existeRegistro(Id); if (!existe) { miObjecto = null; return(miObjecto); } NpgsqlCommand cmd = _Coneccion.CreateCommand(); cmd.Transaction = _Transaccion; cmd.CommandText = @"SELECT ciudadid, estadoid, nombre FROM ciudad WHERE ( ciudadid = @ciudadid );"; cmd.Parameters.Add("@ciudadid", NpgsqlTypes.NpgsqlDbType.Bigint).Value = Id; var rd = await cmd.ExecuteReaderAsync(); NpgsqlDataReader DbReader = (NpgsqlDataReader)rd; int colciudadid = DbReader.GetOrdinal("ciudadid"); int colestadoid = DbReader.GetOrdinal("estadoid"); int colnombre = DbReader.GetOrdinal("nombre"); while (DbReader.Read()) { miObjecto.ciudad_id = (int)DbReader.SafeGetLongNpg(colciudadid, 0); miObjecto.estado_id = (int)DbReader.SafeGetLongNpg(colestadoid, 0); miObjecto.nombre = DbReader.SafeGetStringNpg(colnombre); registros++; } DbReader.Close(); if (registros == 0) { miObjecto = null; } return(miObjecto); } catch (Exception ex) { throw ex; } }
public static List <StationObject> SelectStations(int limit, int offset) { List <StationObject> returnObj = new List <StationObject>(); NpgsqlConnection conn = null; NpgsqlDataReader dr = null; try { conn = OpenConnectionAndGetReader("SELECT * from station order by lower(street_address), lower(city), lower(country) limit :p0 offset :p1;", out dr, limit, offset); while (dr.Read()) { string street_address = dr.GetFieldValue <string>(dr.GetOrdinal("street_address")); string city = dr.GetFieldValue <string>(dr.GetOrdinal("city")); string country = dr.GetFieldValue <string>(dr.GetOrdinal("country")); returnObj.Add(new StationObject(street_address, city, country)); } } finally { conn.Close(); } return(returnObj); }
public bool busca_sol_deb_automatico(ref ConnPostNpgsql.Conexao conexao) { this.erros.classe = "CSolDebAutomatico"; this.erros.funcao = "busca_sol_deb_automatico()"; this.erros.codErro = ""; NpgsqlCommand npgsqlCommand = new NpgsqlCommand(); NpgsqlDataReader npgsqlDataReader = null; bool result; try { npgsqlCommand.Connection = conexao.ConexaoBd; if (conexao.transactionIsOpen()) { npgsqlCommand.Transaction = conexao.TransacaoBd; } string commandText = "SELECT * from tb_solicitacao_deb_aut WHERE seq_solicitacao_deb_aut = :seq_solicitacao_deb_aut"; npgsqlCommand.CommandText = commandText; openPost.setParameters(npgsqlCommand, ":seq_solicitacao_deb_aut", this.pagamento.seq_solicitacao_deb_aut); npgsqlDataReader = npgsqlCommand.ExecuteReader(); if (npgsqlDataReader.Read()) { int ordinal = npgsqlDataReader.GetOrdinal("id_imobiliaria"); this.pagamento.codImobiliaria = npgsqlDataReader.GetValue(ordinal).ToString(); ordinal = npgsqlDataReader.GetOrdinal("id_venda"); this.pagamento.id_venda = npgsqlDataReader.GetValue(ordinal).ToString(); ordinal = npgsqlDataReader.GetOrdinal("id_pagamento"); this.pagamento.id_pagamento = npgsqlDataReader.GetValue(ordinal).ToString(); npgsqlDataReader.Dispose(); result = true; } else { this.erros.codErro = "9999"; this.erros.descErro = "NAO HA PAGAMENTOS PARA SOLICITACAO DEBITO AUTOMATICO..."; this.erros.rc = 59; npgsqlCommand.Dispose(); npgsqlDataReader.Dispose(); result = false; } } catch (Exception ex) { this.erros.codErro = "9999"; this.erros.descErro = "EXCEPTION:" + ex.Message; this.erros.rc = 4; npgsqlCommand.Dispose(); npgsqlDataReader.Dispose(); result = false; } finally { if (npgsqlCommand != null) { npgsqlCommand.Dispose(); npgsqlCommand = null; } } return(result); }
public static List <BookingObject> SelectBookings(int limit, int offset) { List <BookingObject> returnObj = new List <BookingObject>(); NpgsqlConnection conn = null; NpgsqlDataReader dr = null; try { conn = OpenConnectionAndGetReader("SELECT * from booking order by busride_id, lower(traveller) limit :p0 offset :p1;", out dr, limit, offset); while (dr.Read()) { int busride_id = dr.GetFieldValue <int>(dr.GetOrdinal("busride_id")); string traveller = dr.GetFieldValue <string>(dr.GetOrdinal("traveller")); int seats = dr.GetFieldValue <int>(dr.GetOrdinal("seats")); returnObj.Add(new BookingObject(busride_id, traveller, seats)); } } finally { conn.Close(); } return(returnObj); }
public static TravellerObject VerifyTraveller(string username, string hashedPassword) { ErrorMessage = "Wrong username or password."; TravellerObject returnObj = null; NpgsqlConnection conn = null; NpgsqlDataReader dr = null; try { conn = OpenConnectionAndGetReader("SELECT * from traveller WHERE email = :p0 AND password = :p1;", out dr, username, hashedPassword); if (dr.Read()) { string email = dr.GetFieldValue <string>(dr.GetOrdinal("email")); string _hashedPassword = dr.GetFieldValue <string>(dr.GetOrdinal("password")); string name = dr.GetFieldValue <string>(dr.GetOrdinal("name")); string address = dr.GetFieldValue <string>(dr.GetOrdinal("address")); string phone = dr.GetFieldValue <string>(dr.GetOrdinal("phone")); returnObj = new TravellerObject(email, _hashedPassword, name, address, phone); ErrorMessage = ""; } } finally { conn.Close(); } return(returnObj); }
private async Task <Dictionary <string, string> > GetTableColumnsAsync(string tableName) { Dictionary <string, string> columns = new Dictionary <string, string>(); using (NpgsqlConnection conn = await OpenDbConnectionAsync(GetSetupTestDbConnectionString())) { string getColumnsSql = $@"SELECT column_name, data_type FROM information_schema.columns WHERE table_catalog = '{SetupTestDbName}' AND table_name = '{tableName}';" ; using (NpgsqlCommand cmd = new NpgsqlCommand(getColumnsSql, conn)) using (NpgsqlDataReader rdr = await cmd.ExecuteReaderAsync()) { while (await rdr.ReadAsync()) { string columnName = rdr.GetString(rdr .GetOrdinal("column_name")); string dataType = rdr.GetString(rdr .GetOrdinal("data_type")); columns.Add(columnName.ToLower(), dataType.ToUpper()); } } await conn.CloseAsync(); } return(columns); }
/// <summary> /// create new table contcardpic /// </summary> /// <param name="npgsqlDataReader"></param> /// <param name="contCardPIC"></param> private void MappingDataReaderToContCardpic(NpgsqlDataReader npgsqlDataReader, ContCardPic contCardPIC) { contCardPIC.ContCardPicID = npgsqlDataReader.GetInt64(npgsqlDataReader.GetOrdinal("ContCardPicID")); contCardPIC.ContCardID = npgsqlDataReader.GetInt64(npgsqlDataReader.GetOrdinal("ContCardID")); contCardPIC.PicDtm = npgsqlDataReader.GetDateTime(npgsqlDataReader.GetOrdinal("PicDtm")); contCardPIC.PicName = npgsqlDataReader.GetString(npgsqlDataReader.GetOrdinal("PicName")); contCardPIC.PicData = (byte[])npgsqlDataReader[4]; }
private void MappingDataReaderToCustomer(NpgsqlDataReader npgsqlDataReader, Customer customer) { customer.CustomerID = npgsqlDataReader.GetInt32(npgsqlDataReader.GetOrdinal("customerid")); customer.CustomerCode = npgsqlDataReader.GetString(npgsqlDataReader.GetOrdinal("CustomerCode")); customer.Name = npgsqlDataReader.GetString(npgsqlDataReader.GetOrdinal("Name")); }
protected override SurveyData ParseSample(NpgsqlDataReader reader) { var weight = reader.GetDouble(reader.GetOrdinal("weight")); var houseValue = reader.GetDouble(reader.GetOrdinal("house_value")); return(new SurveyData { Weight = weight, Data = houseValue }); }
protected override SurveyData ParseSample(NpgsqlDataReader reader) { var weight = reader.GetDouble(reader.GetOrdinal("weight")); var income = reader.GetDouble(reader.GetOrdinal("income")); return(new SurveyData { Weight = weight, Data = income }); }
protected override SurveyData ParseSample(NpgsqlDataReader reader) { var weight = reader.GetDouble(reader.GetOrdinal("weight")); var networth = reader.GetDouble(reader.GetOrdinal("networth")); return(new SurveyData { Weight = weight, Data = networth }); }
protected override KeySequence RecordToEntity(NpgsqlDataReader dataReader) { KeySequence keySequence = new KeySequence(); keySequence.TableName = dataReader.GetString(dataReader.GetOrdinal("tablename")); keySequence.LastKeyValue = dataReader.GetInt32(dataReader.GetOrdinal("lastkeyvalue")); return(keySequence); }
/// <summary> /// Retrieves an mmrsnapshot from a npgsql data reader. /// </summary> public static MmrSnapshot ToMmrSnapshot(this NpgsqlDataReader reader) { DateTime snapshotTime = reader.GetDateTime(reader.GetOrdinal("snapshottime")); string snapshotJson = reader.GetString(reader.GetOrdinal("snapshotjson")); int season = reader.GetInt32(reader.GetOrdinal("season")); var snapshotData = JsonSerializer.Deserialize <CompressedMmrData[]>(snapshotJson); return(new MmrSnapshot(snapshotTime, snapshotData, season)); }
/// <summary>Convert a record retrieved from the database to an entity object.</summary> /// <param name="dataReader">The database reader with the results from a database request.</param> /// <returns>A new entity with the data.</returns> protected override Region RecordToEntity(NpgsqlDataReader dataReader) { Region region = new Region(); region.PrimaryKey = dataReader.GetString(dataReader.GetOrdinal("regkey")); region.Description = dataReader.GetString(dataReader.GetOrdinal("regdescription")); return(region); }
/// <summary>Convert a record retrieved from the database to an entity object.</summary> /// <param name="dataReader">The database reader with the results from a database request.</param> /// <returns>A new entity with the data.</returns> protected override Country RecordToEntity(NpgsqlDataReader dataReader) { Country country = new Country(); country.PrimaryKey = dataReader.GetString(dataReader.GetOrdinal("coukey")); country.Description = dataReader.GetString(dataReader.GetOrdinal("coudescription")); country.RegionKey = dataReader.GetString(dataReader.GetOrdinal("couregkey")); return(country); }
private static User GetUserDataFromQuery(NpgsqlDataReader userReader) { string login = userReader.GetString(userReader.GetOrdinal("login")); string password = userReader.GetString(userReader.GetOrdinal("password")); string firstName = userReader.GetString(userReader.GetOrdinal("first_name")); string lastName = userReader.GetString(userReader.GetOrdinal("last_name")); DateTime dateOfBirth = userReader.GetDateTime(userReader.GetOrdinal("date_of_birth")); return(new User(login, password, firstName, lastName, dateOfBirth)); }
/// <summary>Convert a record retrieved from the database to an entity object.</summary> /// <param name="dataReader">The database reader with the results from a database request.</param> /// <returns>A new entity with the data.</returns> protected override Owner RecordToEntity(NpgsqlDataReader dataReader) { Owner owner = new Owner(); owner.PrimaryKey = dataReader.GetString(dataReader.GetOrdinal("ownkey")); owner.OwnerName = dataReader.GetString(dataReader.GetOrdinal("ownname")); owner.DefaultOwner = dataReader.GetBoolean(dataReader.GetOrdinal("owndefault")); return(owner); }
/// <summary>Convert a record retrieved from the database to an entity object.</summary> /// <param name="dataReader">The database reader with the results from a database request.</param> /// <returns>A new entity with the data.</returns> protected override Manufacturer RecordToEntity(NpgsqlDataReader dataReader) { Manufacturer manufacturer = new Manufacturer(); manufacturer.PrimaryKey = dataReader.GetString(dataReader.GetOrdinal("mankey")); manufacturer.Name = dataReader.GetString(dataReader.GetOrdinal("manname")); manufacturer.CountryKey = dataReader.GetString(dataReader.GetOrdinal("mancoukey")); return(manufacturer); }
private static Place MapCurrentRowToPlace(NpgsqlDataReader reader) { var result = new Place { Id = reader.GetFieldValue <Guid>(reader.GetOrdinal("id")), Names = reader.GetFieldValue <List <PlaceName> >(reader.GetOrdinal("names")), TelCode = reader.GetFieldValue <string>(reader.GetOrdinal("tel_code")) }; return(result); }
NpgsqlDbColumn LoadColumnDefinition(NpgsqlDataReader reader) { var columnName = reader.GetString(reader.GetOrdinal("attname")); var column = new NpgsqlDbColumn { AllowDBNull = !reader.GetBoolean(reader.GetOrdinal("attnotnull")), BaseCatalogName = _connection.Database, BaseColumnName = columnName, BaseSchemaName = reader.GetString(reader.GetOrdinal("nspname")), BaseServerName = _connection.Host, BaseTableName = reader.GetString(reader.GetOrdinal("relname")), ColumnName = columnName, ColumnOrdinal = reader.GetInt32(reader.GetOrdinal("attnum")) - 1, ColumnAttributeNumber = (short)(reader.GetInt16(reader.GetOrdinal("attnum")) - 1), IsKey = reader.GetBoolean(reader.GetOrdinal("isprimarykey")), IsReadOnly = !reader.GetBoolean(reader.GetOrdinal("is_updatable")), IsUnique = reader.GetBoolean(reader.GetOrdinal("isunique")), DataTypeName = reader.GetString(reader.GetOrdinal("typname")), TableOID = reader.GetFieldValue<uint>(reader.GetOrdinal("attrelid")), TypeOID = reader.GetFieldValue<uint>(reader.GetOrdinal("typoid")) }; var defaultValueOrdinal = reader.GetOrdinal("default"); column.DefaultValue = reader.IsDBNull(defaultValueOrdinal) ? null : reader.GetString(defaultValueOrdinal); column.IsAutoIncrement = column.DefaultValue != null && column.DefaultValue.StartsWith("nextval("); ColumnPostConfig(column, reader.GetInt32(reader.GetOrdinal("atttypmod"))); return column; }