为什么会报"对象的引用没有设置到对象的实例的错误"??

dibov 2003-10-29 11:46:12
程序:
SqlDataAdapter daInfo = new SqlDataAdapter("Select id#,doc_id,doc_title,doc_info,info_time From T_Pub_Doc_Info",myConn);
SqlDataAdapter daTitle = new SqlDataAdapter(selectStr,myConn);

DataSet ds = new DataSet();
daTitle.Fill(ds,"docTitle");

if(ds.Tables["docTilte"].Rows.Count > 0)
{
daInfo.Fill(ds,"docInfo");
ds.Relations.Add("详细信息",ds.Tables["docTitle"].Columns["id#"],ds.Tables["docInfo"].Columns["doc_id"]);
}
因为加入的关系“详细信息”,如果父表没有记录而子表有记录,却去daInfo.Fill(ds,"docInfo")时会报错"其他信息: 不能启用此约束,因为不是所有的值都具有相应的父值",
如是我加入
if(ds.Tables["docTilte"].Rows.Count > 0)语句,但是却报"对象的引用没有设置到对象的实例的错误"。但我在调试的命令窗口却能得到
ds.Tables["docTilte"].Rows.Count = 2的具体值,为什么呢?
...全文
31 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liduke 2003-10-30
  • 打赏
  • 举报
回复
if(ds.Tables["docTilte"].Rows.Count > 0)


daTitle.Fill(ds,"docTitle");名字不一样
dibov 2003-10-30
  • 打赏
  • 举报
回复
天啊,写错了!
ar7_top 2003-10-30
  • 打赏
  • 举报
回复
if(ds.Tables["docTilte"].Rows.Count > 0)

修改成为

if(ds.Tables["docTitle"].Rows.Count > 0)
soulroom 2003-10-30
  • 打赏
  • 举报
回复
调用的对象为Null
brightheroes 2003-10-30
  • 打赏
  • 举报
回复
跟踪
liupeng1981 2003-10-30
  • 打赏
  • 举报
回复
你的DataSet里有数据吗
dibov 2003-10-30
  • 打赏
  • 举报
回复
xy0828(九天):
用了,还是一样的错误!
dibov 2003-10-30
  • 打赏
  • 举报
回复
to larrybest(小飞):
正常啊!
larrybest 2003-10-29
  • 打赏
  • 举报
回复
daInfo.Fill(ds,"docInfo");
那就是这句出错了的!
Select id#,doc_id,doc_title,doc_info,info_time From T_Pub_Doc_Info
在数据库里运行正确吗?
九天 2003-10-29
  • 打赏
  • 举报
回复
不要完全相信它报的这个错误,我数据库地址错了它也这么乱报。
建议你加一个
try
{
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
看看到底是什么错误。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧