dataRelation未将对象引用设置到对象的实例错误

sxsluoyin 2007-06-01 12:01:08
用的是pubs的数据库,所以大家都能看明白我说什么吧:
代码:public partial class relation : System.Web.UI.Page
{
private string connectionstring = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
CreatList();
}

private void CreatList()
{
string sql = "SELECT au_id,au_lname,au_fname FROM Authors";
SqlConnection myConnection = new SqlConnection(connectionstring);
SqlCommand myCommand = new SqlCommand(sql,myConnection);
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
DataSet mySet = new DataSet();

try
{
myConnection.Open();
myAdapter.Fill(mySet,"Authors");

myCommand.CommandText = "SELECT au_id,title_id FROM TitleAuthor";
myAdapter.Fill(mySet,"TitleAuther");

myCommand.CommandText = "SELECT title_id,title FROM Titles";
myAdapter.Fill(mySet,"Title");

}
catch (Exception err)
{
lblInfo.Text = err.Message;
}
finally
{
myConnection.Close();
}
DataRelation Titles_TitleAuthor = new DataRelation("Titles_TitleAuthor",mySet.Tables["Titles"].Columns["title_id"],mySet.Tables["TitleAuthor"].Columns["title_id"]);
DataRelation Authors_TitleAuthor = new DataRelation("Authors_TitleAuthor",mySet.Tables["Authors"].Columns["au_id"],mySet.Tables["TitleAuthors"].Columns["au_id"]);

mySet.Relations.Add(Titles_TitleAuthor);
mySet.Relations.Add(Authors_TitleAuthor);

foreach (DataRow rowAuthor in mySet.Tables["Authors"].Rows)
{
lblList.Text = "<br/><b>" + rowAuthor["au_fname"] + " " + rowAuthor["au_lname"] + "</b>";
foreach (DataRow rowTitleAuthor in rowAuthor.GetChildRows(Authors_TitleAuthor))
{
foreach (DataRow rowTitle in rowTitleAuthor.GetParentRows(Titles_TitleAuthor))
{
lblList.Text = "  " + rowTitle["title"] + "<br/>";
}
}
}

}
}
错误:
DataRelation Titles_TitleAuthor = new DataRelation("Titles_TitleAuthor",mySet.Tables["Titles"].Columns["title_id"],mySet.Tables["TitleAuthor"].Columns["title_id"]);
DataRelation Authors_TitleAuthor = new DataRelation("Authors_TitleAuthor",mySet.Tables["Authors"].Columns["au_id"],mySet.Tables["TitleAuthors"].Columns["au_id"]);
局部变量检查,的确Titles_TitleAuthor和Authors_TitleAuthor为null,这个例子是apress beginning asp.net 2.0 in c#中的,所以我特意用书中代码,也是这个问题,检查数据库主键关系没有错误,请问问题在什么地方。
谢谢高手们的解答,小弟感激
...全文
102 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxsluoyin 2007-06-01
  • 打赏
  • 举报
回复
3q
amandag 2007-06-01
  • 打赏
  • 举报
回复
DataRelation Titles_TitleAuthor = new DataRelation("Titles_TitleAuthor",mySet.Tables["Titles"].Columns["title_id"],mySet.Tables["TitleAuthor"].Columns["title_id"]);
DataRelation Authors_TitleAuthor = new DataRelation("Authors_TitleAuthor",mySet.Tables["Authors"].Columns["au_id"],mySet.Tables["TitleAuthors"].Columns["au_id"]);

mySet.Relations.Add(Titles_TitleAuthor);
mySet.Relations.Add(Authors_TitleAuthor);
=====================================================

DataRelation Titles_TitleAuthor = mySet.Relations.Add("Titles_TitleAuthor",mySet.Tables["Titles"].Columns["title_id"],mySet.Tables["TitleAuthor"].Columns["title_id"]);
DataRelation Authors_TitleAuthor = mySet.Relations.Add("Authors_TitleAuthor",mySet.Tables["Authors"].Columns["au_id"],mySet.Tables["TitleAuthors"].Columns["au_id"]);

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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