public void TypesNames() { NpgsqlCommand command = new NpgsqlCommand("select * from tablea where 1 = 2;", TheConnection); NpgsqlDataReader dr = command.ExecuteReader(); dr.Read(); Assert.AreEqual("int4", dr.GetDataTypeName(0)); Assert.AreEqual("text", dr.GetDataTypeName(1)); Assert.AreEqual("int4", dr.GetDataTypeName(2)); Assert.AreEqual("int8", dr.GetDataTypeName(3)); Assert.AreEqual("bool", dr.GetDataTypeName(4)); dr.Close(); command.CommandText = "select * from tableb where 1 = 2"; dr = command.ExecuteReader(); dr.Read(); Assert.AreEqual("int4", dr.GetDataTypeName(0)); Assert.AreEqual("int2", dr.GetDataTypeName(1)); Assert.AreEqual("timestamp", dr.GetDataTypeName(2)); Assert.AreEqual("numeric", dr.GetDataTypeName(3)); }
//input : table that should be loaded to dataGridView, data constrain //this function should load the given table, in a given condition public void ldTable(string tblName, string constraint) { try { dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); } catch (InvalidOperationException) { } this.reader = AskPgSQL.Fullinq(tblName, constraint); if (this.reader == null) { return; } nowTable = tblName; for (int i = 0; i < reader.VisibleFieldCount; i++) { Create_NewCol(reader.GetName(i), reader.GetDataTypeName(i).ToString()); } while (reader.Read()) { int newrows = dataGridView1.Rows.Add(); for (int i = 0; i < reader.VisibleFieldCount; i++) { readerJudge(this.reader, newrows, i); } if (dataGridView1.Rows.Count > 100) { break; } } }
public static long?SafeGetLongNpg(this NpgsqlDataReader rd, int col, long?valorDefecto) { if (rd.IsDBNull(col)) { return(valorDefecto); } string tipo = rd.GetDataTypeName(col); long? regreso = 0; switch (tipo.ToUpper()) { case "INT2": regreso = rd.GetInt16(col); break; case "INT4": regreso = rd.GetInt32(col); break; case "INT8": regreso = rd.GetInt64(col); break; case "SERIAL": regreso = rd.GetInt32(col); break; default: regreso = (long?)rd.GetDecimal(col); break; } return(regreso); }
private static IList <Field> GetHeaderFromReader(NpgsqlDataReader reader) { if (reader.FieldCount < 1) { return(null); } var header = new List <Field>(); for (var index = 0; index < reader.FieldCount; index++) { header.Add(new Field { Index = index, Name = reader.GetName(index), Type = reader.GetDataTypeName(index) }); } return(header); }
public static long SafeGetLongNotNullNpg(this NpgsqlDataReader rd, int col) { long regreso = 0; var valorColumna = rd.GetValue(col); if (rd.IsDBNull(col)) { return(regreso); } string tipo = rd.GetDataTypeName(col); switch (tipo.ToUpper()) { case "INT2": regreso = rd.GetInt16(col); break; case "INT4": regreso = rd.GetInt32(col); break; case "INT8": regreso = rd.GetInt64(col); break; case "SERIAL": regreso = rd.GetInt32(col); break; default: long?regresoNull = (long?)rd.GetDecimal(col); if (regresoNull != null) { regreso = (long)regresoNull; } break; } return(regreso); }
/// <summary> /// Gets the data type name of a column, given a zero based ordinal. /// </summary> /// <param name="i"></param> /// <returns></returns> public string GetDataTypeName(int i) { return(_rdr.GetDataTypeName(i)); }
public override string GetDataTypeName(int ordinal) { return(source.GetDataTypeName(ordinal)); }
/// <summary> /// Gets the data type name of a column, given a zero based ordinal. /// </summary> public string GetDataTypeName(int i) => _rdr.GetDataTypeName(i);