哪一个是数据网格视图中最好的方法? [英] which one is best way for crud in a datagridview ?

查看:74
本文介绍了哪一个是数据网格视图中最好的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有一个datagridview。在删除操作中,我将所有delleted行保存在deletedList中,当用户点击保存按钮时,deletedlist将对数据库执行。

用于插入和更新当用户点击保存按钮时,行列表将产生并将保存到数据库。

我想知道这种方式是好的,或者当用户更新插入或删除并且不等待点击保存按钮时立即更好。

根据句柄并发问题哪种方式更好?

解决方案

如果使用DataTable作为DataGridView的数据源,可以循环遍历行在按下Save按钮的DataTable中,检查每行的属性RowState的值。

这样可以很容易地对行执行相应的操作。

< pre lang =cs> private void UpdateDatabase()
{
DataTable myTable = new DataTable();
foreach (DataRow dr in myTable.Rows)
{
if (dr.RowState == DataRowState.Added)
InsertRow(dr);
else if (dr.RowState == DataRowState.Modified)
UpdateRow( DR);
else if (dr.RowState == DataRowState.Deleted)
DeleteRow( DR);
}
myTable.AcceptChanges();
}





如果您想拥有该选项,还可以使用myTable.RejectChanges轻松拒绝更改。



如果您最好在换行时立即更新,取决于其他用户是否对数据始终更新至关重要。

立即更新的一个缺点是用户不能在没有第二次交易的情况下后悔改变。这可能是不必要的许多事务和慢响应。


Member 11133908写道:

我想知道这种方式当用户更新插入或删除并且不等待点击保存按钮时,立即做坏事或者更好。

根据句柄并发问题哪种方式更好?



答案是:它取决于很多因素,但最重要的是客户要求。如果客户希望能够恢复数据直到用户接受删除,则最好使用要删除的记录列表。就个人而言,我更愿意删除数据。


there is a datagridview. in delete operation I save all delleted row in a deletedList and when user clicked on save button deletedlist will perform to database.
for insert and update when user clicked on save button,list of rows will produce and will save to database.
I want to know this way is good or its better to do crud immediately when user do update insert or delete and don't waiting for clicking on save button.
and which way is better according to handle concurrency problem?

解决方案

If you use a DataTable as the data source for the DataGridView, you can loop through the rows in the DataTable upon pressing the Save button and check the value of the property RowState for each row.
This makes it easy to execute the appropriate action for the rows.

private void UpdateDatabase()
{
    DataTable myTable = new DataTable();
    foreach (DataRow dr in myTable.Rows)
    {
        if (dr.RowState == DataRowState.Added)
            InsertRow(dr);
        else if (dr.RowState == DataRowState.Modified)
            UpdateRow(dr);
        else if (dr.RowState == DataRowState.Deleted)
            DeleteRow(dr);
    }
    myTable.AcceptChanges();
}



It also makes it easy to reject changes by using myTable.RejectChanges if you want to have that option.

If it is best for you to update immediately upon row change or not depends on if it is critical for other users that data is always updated.
One drawback with immediate update is that the user cannot regret changes without a second transaction. This might unnecessary many transaction and slow response.


Member 11133908 wrote:

I want to know this way is good or its better to do crud immediately when user do update insert or delete and don't waiting for clicking on save button.
and which way is better according to handle concurrency problem?


The answer is: it depends on many factors, but the most important is client requirements. If client wants to be able to restore data till user accept deletion, it's good idea to use a "list of records to delete". Personally, i prefer to delete data inmmediatelly.


这篇关于哪一个是数据网格视图中最好的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆