簡體   English   中英

WPF DataGrid更新數據庫

[英]WPF datagrid update database

我在C#中相當陌生。 我正在編寫一個小型的GUI數據庫應用程序,該應用程序使用datagrid來顯示表數據。 當我在網格中編輯一行時,按更新按鈕,將調用tableadapter的更新功能,並將更改傳播回DB。 然后,我為行更改事件實現了一個處理程序,該處理程序又調用了tableadapter的更新功能。 但是這一次,當某些值被更改並按下Enter鍵時,將調用處理程序,並引發InvalidOperationException,並顯示消息“已經存在與此Command關聯的打開的DataReader,必須首先關閉它”。 但是數據庫還是被更改了。 如何停止要引發的異常。 我在連接字符串中將多個活動結果集設置為true。

構造函數

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;
}

行更改事件處理程序

private void users_usersRowChanged(object sender, testDBDataSet.usersRowChangeEvent e) 
{
    output.Content = "Row Modified";
    usersAdapter.Update(users);
}

DataGrid XAML

<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"/>

例外情況是,您應該先關閉閱讀器。 您沒有提供足夠的信息,我無法解釋更多; 但是,請參閱此鏈接 我認為它將為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM