一个奇怪的ADO.net问题!

xiaotuhzb 2003-07-24 04:07:20
下面是我的两个按钮控件,当第一次执行时buttonConnectIni_Click_1与buttonRelation_Click都可以成功,但是当我第二次执行buttonRelation_Click的时候,系统就抛出异常 ——“未处理的“System.Data.DuplicateNameException”类型的异常出现在 system.data.dll 中。其他信息: 名为“连接”的关系已经属于此数据集。”这个是什么原因呢?哪为知道是怎么会事情呢?(程序里面其他部分都没有问题)

//关联两个表,在一个dataGrid中显示两个表
private void buttonRelation_Click(object sender, System.EventArgs e)
{

dataSetOne.Clear();
Mcl.DataModules.DMSqlServer MyDMnew2 = new Mcl.DataModules.DMSqlServer();
MyDMnew2.SelectData(dataSetOne,"Select * from Games","Games");
Mcl.DataModules.DMSqlServer MyDMnew1 = new DMSqlServer();
MyDMnew1.SelectData(dataSetOne,"Select * from GameDots","GameDots");
dataColumn1 = dataSetOne.Tables["Games"].Columns["GameID"];
dataColumn2 = dataSetOne.Tables["GameDots"].Columns["GameID"];
dataRelation = new System.Data.DataRelation("连接",dataColumn1,dataColumn2);
dataSetOne.Relations.Add(dataRelation);
DataViewManager DataSetView1 = dataSetOne.DefaultViewManager;
dataGrid1.DataSource = DataSetView1;
dataGrid1.DataMember = "Games";
}

//访问一个表,并在dataGrid1中显示
private void buttonConnectIni_Click_1(object sender, System.EventArgs e)
{

dataSet1.Clear();
Mcl.DataModules.DMSqlServer MyDMnew = new Mcl.DataModules.DMSqlServer();
MyDMnew.SelectData(dataSet1,"Select * from Chat","Chat");
dataGrid1.DataSource = dataSet1.Tables["Chat"].DefaultView;

}
...全文
18 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaotuhzb 2003-07-27
  • 打赏
  • 举报
回复
谢谢!按照你说的问题已经解决了!
雪狼1234567 2003-07-24
  • 打赏
  • 举报
回复
在你的关联之前加一句:
this.DataSet.Relations.Clear();
dahuzizyd 2003-07-24
  • 打赏
  • 举报
回复
是你第一次设置了关联后,第二次再点的时候,此关联已经存在了,发生冲突。
异常:System.Data.DuplicateNameException在下面情况下发生:
遇到的重复数据库对象名称的示例有表、列、关系或约束。
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2003-07-24 04:07
社区公告

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