dataRelation未将对象引用设置到对象的实例错误
用的是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#中的,所以我特意用书中代码,也是这个问题,检查数据库主键关系没有错误,请问问题在什么地方。
谢谢高手们的解答,小弟感激