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列的值了
其中我的数据库表结构如下:
程序运行结果如下图: