예제 #1
0
 public PostgresType GetPostgresType(int ordinal)
 {
     if (_reader != null)
     {
         return(_reader.GetPostgresType(ordinal));
     }
     else
     {
         throw new TypeInitializationException("NpgsqlDataReader", new NotImplementedException());
     }
 }
예제 #2
0
        public User GetUser(int userID)
        {
            NpgsqlConnection connection = SetConnect();
            NpgsqlCommand    cmd        = new NpgsqlCommand("SELECT * FROM usertable WHERE user_id = @a;", connection);

            cmd.Parameters.AddWithValue("a", userID);
            //cmd.Parameters.AddWithValue("b", pwd);
            cmd.Prepare();

            NpgsqlDataReader reader = cmd.ExecuteReader();

            User user = null;

            if (reader.HasRows)
            {
                reader.Read();
                Console.WriteLine(reader.GetPostgresType(0));
                if (reader.IsDBNull(6) && reader.IsDBNull(7))
                {
                    user = new User(reader.GetString(1), reader.GetString(2), "", "",
                                    reader.GetInt32(0), reader.GetInt32(3), reader.GetInt32(4), reader.GetInt32(5), reader.GetInt32(8), reader.GetInt32(9));
                }
                else if (reader.IsDBNull(6))
                {
                    user = new User(reader.GetString(1), reader.GetString(2), "", reader.GetString(7),
                                    reader.GetInt32(0), reader.GetInt32(3), reader.GetInt32(4), reader.GetInt32(5), reader.GetInt32(8), reader.GetInt32(9));
                }
                else if (reader.IsDBNull(7))
                {
                    user = new User(reader.GetString(1), reader.GetString(2), reader.GetString(6), "",
                                    reader.GetInt32(0), reader.GetInt32(3), reader.GetInt32(4), reader.GetInt32(5), reader.GetInt32(8), reader.GetInt32(9));
                }
                else
                {
                    user = new User(reader.GetString(1), reader.GetString(2), reader.GetString(6), reader.GetString(7),
                                    reader.GetInt32(0), reader.GetInt32(3), reader.GetInt32(4), reader.GetInt32(5), reader.GetInt32(8), reader.GetInt32(9));
                }

                reader.Close();
                connection.Close();
                return(user);
            }
            else
            {
                reader.Close();
                connection.Close();
                throw new ArgumentException("User data not found!");
            }
        }