A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jingzhouheima 中级黑马   /  2013-5-10 17:35  /  2400 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 jingzhouheima 于 2013-5-12 20:41 编辑

不管用哪一种实例,都报这样的异常。。期待交流。。

断开对象DataSet.png (18.05 KB, 下载次数: 0)

这是出现问题异常

这是出现问题异常

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

12 个回复

倒序浏览
这种情况到没见过
回复 使用道具 举报
你可以看看这个~
http://blog.csdn.net/sollion/article/details/5777475
回复 使用道具 举报
黑马-雷钊 发表于 2013-5-10 19:53
这种情况到没见过

谢谢关注
回复 使用道具 举报
许大虾 发表于 2013-5-10 20:10
你可以看看这个~
http://blog.csdn.net/sollion/article/details/5777475

谢了,兄弟。。
回复 使用道具 举报
jingzhouheima 发表于 2013-5-10 20:22
谢了,兄弟。。

不客气~应该的
回复 使用道具 举报
   theDataset为null,所以你再他身上调用Tables就会抛出一个NUllReferenceException异常。
  这时候你可能还在设置断点一步步的调试,这里有一个简便的方法可以解决:(哈哈一般人不告诉他)
  以后凡是出现这种情况,你就单击thDataset,然后在弹出的对话框中选择”转到定义处“,这时候就会转到theDataset的定义处,
仔细看看那,她99%没有new。假设他是这样的DataSet theDatase;那么你只需加上一个new就可以了,再或者他可能是这样的DataSet theDataset=someMethod();,这时候你按照刚才的方法转到someMethod的定义处,然后再看看里面有没有new。

总之出现这种情况,就说明这个对象还没有在堆中创建,你只需要创建他就OK了;

未命名.jpg (39.86 KB, 下载次数: 0)

未命名.jpg
回复 使用道具 举报
类似情况我前一阵子也遇到过,发生这种情况应该是你在调用一个类里面的属性时,没有给它新建一个对象,或者当前对象为null,你先设断点,启动调试观察一下里面的值。
回复 使用道具 举报
王宝生 发表于 2013-5-11 06:50
theDataset为null,所以你再他身上调用Tables就会抛出一个NUllReferenceException异常。
  这时候你可能 ...

private DataSet theDataSet = null;//我事先已经定义了一个全局变量。这样写有错吗??
回复 使用道具 举报
"未将对象引用设置到对象的实例"的异常,一般就是该对象为null引起的。
那我们就设断点,看是不是为null,如果为null,根据程序执行顺序,向前再设断点排查,一步一步的找到原因。
回复 使用道具 举报
这里的话,DataSet为null
1、看sql语句写的对不对,有没有返回结果;
2、theDataSet 在执行过程中,是否有赋值操作,没有的话当然要报错了;
3、楼下补充 、、:D
回复 使用道具 举报
宋兴征 发表于 2013-5-11 23:49
这里的话,DataSet为null
1、看sql语句写的对不对,有没有返回结果;
2、theDataSet 在执行过程中,是否有 ...

DataSet theDataSet = new DataSet(); //我定义了一个全局的DataSet
page_Load
{  
   ...
   DataColumn[] dc = new DataColumn[1];//实例一个数组,里面只含有1个元素
  adapter.Fill(theDataSet,"userCISP");//填充到DataSet中
...
}
protected void SelectBtn_Click(object sender, EventArgs e)
{
  DataTable dt =  theDataSet.Tables[0];//这里是出现报错的地方
}
回复 使用道具 举报
jingzhouheima 发表于 2013-5-11 23:10
private DataSet theDataSet = null;//我事先已经定义了一个全局变量。这样写有错吗?? ...

这里你不就没有初始化嘛,直接在构造函数中初始化一下就行了。或者右键,然后选择查找所有引用,肯定没有初始化
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马