C#程序读取数据库中包含null的列的值

时间:2021-10-12 04:47:55

private void btn2_Click(object sender, RoutedEventArgs e)

        {

            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=Test20140531;User ID=sa;Password=123"))

            {

                conn.Open();

                using (SqlCommand cmd2 = conn.CreateCommand())

                {

                    cmd2.CommandText = "select * from T_Student";

                    using (SqlDataReader reader = cmd2.ExecuteReader())

                    {

                        while (reader.Read())

                        {

                            //string Name = reader.GetString(1);

                            //MessageBox.Show("姓名为:" + Name);





                            //int Age = reader.GetInt32(2);

                            //MessageBox.Show("所有人的年龄为:"+Age);





                            //long Id = reader.GetInt64(0);

//MessageBox.Show("Id值分别为:" + Id);

string H = reader["Hobbit"].ToString();

//string Hobbit = reader.GetString(3);

                            MessageBox.Show("爱好分别为:" + H);

                            

                        }

                    }

                }

            }

}

参照以上代码,按取非空列的方式:

string Hobbt = reader.GetString(3);

MessageBox.Show("爱好分别为:" + Hobbit);

在对取包含null的列的值时候,在读取到第一个null值时,程序就抛异常终止了,为了解决这个异常终止问题,我们可以用方法:

string H = reader["Hobbit"].ToString();

//string Hobbit = reader.GetString(3);

                            MessageBox.Show("爱好分别为:" + H);

去读取含null列的值了

其中我的数据库表结构如下:

C#程序读取数据库中包含null的列的值

程序运行结果如下图:

C#程序读取数据库中包含null的列的值