如何使用 DataGrid C# WPF 更新数据库



我想用dataGrid更新数据库(SQLite(。我可以更改 dataGrid 中的值,但更改不适用于数据库这就是为什么我想添加一个按钮"保存"来保存 dataGrid 中应用的所有更改,

我搜索了问题,但找不到答案

这是我填充数据网格的 C# 代码:

SQLiteConnection sQLiteConnection = new SQLiteConnection("Data source = dataSet.db ; version = 3 ;");
        SQLiteCommand sQLiteCommand; 
        SQLiteDataAdapter sQLiteDataAdapter; 
        System.Data.DataTable dataTable = new System.Data.DataTable("Naamaa");
        SQLiteCommandBuilder cmd;
        DataSet ds;
        public ManipulateData(string wilaya, int theme)
        {
            InitializeComponent();
            try
            {
                sQLiteConnection.Open();
                sQLiteCommand = new SQLiteCommand(sQLiteConnection);
                sQLiteCommand.CommandText = "SELECT * FROM " + wilaya + " ;";
                sQLiteCommand.ExecuteNonQuery();
                sQLiteDataAdapter = new SQLiteDataAdapter(sQLiteCommand);
                sQLiteDataAdapter.Fill(dataTable);
                McDataGrid.ItemsSource = dataTable.DefaultView;

            }catch
            {
                MessageBox.Show("Error");
            }
        }

这是 XAML 代码:

<Grid Background="White">
        <DataGrid x:Name="McDataGrid"  />
</Grid>

我现在正在做一些非常相似的事情,只是我正在使用Postgres。

执行此操作的一种简单方法是将 DataGridView.ReadOnly 属性设置为 true,然后当用户在 DataGridView 中选择一行时,您可以启动一个 Windows 窗体,其中包含该选定行中的所有数据,并使用"保存"按钮来更新数据库中的数据。然后,从该按钮,您只需使用从表单收集的数据启动对数据库的更新查询。

如果要修改 DataGridView 本身上的数据,事情会变得更加复杂,因为您需要跟踪在 DataGridView 上编辑了哪些行(除非您不关心优化并且可以对每一行进行更新,无论它是否已编辑(。可以将 DataGridViewRow 列表用于所有已修改的行。

这是可以理解的吗?不太习惯写英语,特别是在相当复杂的问题上。

相关内容

  • 没有找到相关文章

最新更新