首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF数据网格更新数据库

WPF数据网格更新数据库
EN

Stack Overflow用户
提问于 2012-12-24 13:42:17
回答 1查看 2.1K关注 0票数 0

我是C#的新手。我正在编写一个小型GUI数据库应用程序,它使用数据网格来显示表数据。当我在网格中编辑一行时,按下update按钮,将调用tableadapter的update函数,并将更改传播回DB。然后,我实现了一个用于行更改事件的处理程序,该处理程序将调用tableadapter的update函数。但这一次,当一些值被更改并按下Enter键时,将调用处理程序并引发InvalidOperationException,并显示消息“存在与此命令相关联的打开的DataReader,必须首先关闭它”。但无论如何,数据库都会发生变化。如何停止要引发的异常。我在连接字符串中将多个活动结果集设置为true。

构造函数

代码语言:javascript
复制
public WSim(MainWindow h)
{
   InitializeComponent();

   //database connection with strongly typed dataset
   usersAdapter = new testDBDataSetTableAdapters.usersTableAdapter();
   users = usersAdapter.GetUsers();

   users.usersRowChanged +=new testDBDataSet.usersRowChangeEventHandler(users_usersRowChanged);

   this.DataContext = users.DefaultView;
}

行已更改事件处理程序

代码语言:javascript
复制
private void users_usersRowChanged(object sender, testDBDataSet.usersRowChangeEvent e) 
{
    output.Content = "Row Modified";
    usersAdapter.Update(users);
}

数据网格xaml

代码语言:javascript
复制
<DataGrid Height="200" HorizontalAlignment="Left" Margin="26,249,0,0" Name="userGrid" VerticalAlignment="Top" Width="381" AutoGenerateColumns="True"
              SelectionMode="Extended" SelectionUnit="FullRow"  ItemsSource="{Binding}"
              CanUserReorderColumns="True" CanUserResizeColumns="True" CanUserSortColumns="True"
              CanUserAddRows="True" CanUserDeleteRows="True"/>
EN

回答 1

Stack Overflow用户

发布于 2012-12-24 16:03:20

正如异常所说,您应该首先关闭读取器。您没有提供足够的信息,我不能解释更多;但请参阅此link。我想这会对你有帮助的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14017513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档