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的列的值的更多相关文章

  1. 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释

    在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...

  2. 数据库中的null问题

    在数据库中有些列的值可以为null,这一篇,我们围绕数据库中的null来讲述. 1. null与 “”.0的区别   数据库中的null表示——不知道,“”——一个空字符串,0则是一个数值.  所以n ...

  3. Oracle的条件in中包含NULL时的处理

    我们在写SQL时经常会用到in条件,如果in包含的值都是非NULL值,那么没有特殊的,但是如果in中的值包含null值(比如in后面跟一个子查询,子查询返回的结果有NULL值),Oracle又会怎么处 ...

  4. Sql server 查询数据库中包含某字段的所有的表

    我们有时候会需要查询数据库中包含某字段的所有的表,去进行update,这时就可以用下面的SQL来实现: select object_name(id) objName,Name as colName f ...

  5. 点滴积累【C#】---C#实现上传word以流形式保存到数据库和读取数据库中的word文件。

    本文修改来源:http://www.cnblogs.com/zmgdpg/archive/2005/03/31/129758.html 效果: 数据库: 思路: 首先保存word到数据库:获取上传文件 ...

  6. 如何解决数据库中,数字+null=null

    如何解决数据库中,数字+null=null 我使用SQLServer,做一个 update 操作,累计一个数.在数据库中,为了方便,数据库中这个字段我设为允许为空,并且设置了默认值为 0 .但是在新增 ...

  7. winform程序读取和改写配置文件App.config元素的值

    winform程序读取和改写配置文件App.config元素的值 2016-05-16 17:49 by newbirth, 2412 阅读, 0 评论, 收藏, 编辑 1 2 3 4 5 6 7 & ...

  8. 用SQL语句创建和删除Access数据库中的表;添加列和删除列

    用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Acc ...

  9. Oracle复合B*tree索引branch block内是否包含非先导列键值?

    好久不碰数据库底层细节的东西,前几天,一个小家伙跑来找我,非要说复合b*tree index branch block中只包含先导列键值信息,并不包含非先导列键值信息,而且还dump了branch b ...

随机推荐

  1. LightOJ1122 Digit Count(DP)

    dp[i][j]表示长度i末尾为S[j]的方案数 dp[1][0...m-1]=1 dp[i][j]=∑dp[i-1][k] (|S[k]-S[j]|<=2) #include<cstdi ...

  2. python  代码片段

    print 'dongshen' for word in ['capitalize','these','words']: print word.upper() for i in range(0,5): ...

  3. BZOJ2216 : [Poi2011]Lightning Conductor

    $f[i]=\max(a[j]+\lceil\sqrt{|i-j|}\rceil)$, 拆开绝对值,考虑j<i,则决策具有单调性,j>i同理, 所以可以用分治$O(n\log n)$解决. ...

  4. 【BZOJ】1862: [Zjoi2006]GameZ游戏排名系统 & 1056: [HAOI2008]排名系统(treap+非常小心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1862 http://www.lydsy.com/JudgeOnline/problem.php?id ...

  5. HDU 4419 Colourful Rectangle(线段树+扫描线)

    题目链接 主要是pushup的代码,其他和区间更新+扫描线差不多. 那个区间如果要再刷一层x,那么sum[x][rt] = que[r+1] - que[l];但是如果原本有颜色为i,颜色将会变成i| ...

  6. 微课程--Android--基础控件的使用

    view viewgroup是一种特殊的view,里面可以包含其他的view 如何生成view: 1 在代码里动态生成 2 写在XML里面 view的常见属性--宽度 wrap_content 随着内 ...

  7. openstack-L版安装

    参照官方install document: http://docs.openstack.org/liberty/install-guide-rdo/ 实验环境:centos7.2 桥接: 192.16 ...

  8. 禁用符合一定条件的AD对象 (含Filter参数的写法)

    Get-ADComputer -Filter "(sAMAccountType -eq 805306369)" -SearchBase "OU=Computers,OU= ...

  9. 2016.04.27,英语,《Vocabulary Builder》Unit 19

    bio, comes from the Greek word for 'life'. biosphere ['baɪoʊsfɪr] n. 生物圈: biology [baɪ'ɑːlədʒi] n. 生 ...

  10. Ubuntu 安装搜狗拼音及fcitx

    首先卸载原有ibus输入源: sudo apt-get remove ibus System Settings -> Software & Updates -> Other Sof ...