从Datagrid更新/删除数据

时间:2011-12-28 15:25:02

标签: c# database winforms datagrid

我是C#/数据库世界的新手。我刚创建了一个C#项目,将它连接到数据库并从表中填充数据网格。

到目前为止,我没有编写任何代码,仅使用Visual C#向导和几个拖放操作。我的网格现在显示从表中检索的数据,但我无法更新或删除行。 那么,如何更新或删除数据库中的行并进行验证呢? 这是我的页面form1.cs:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Learn
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void userBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.userBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.usersDataSet);
        }       

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'usersDataSet.User' table. You can move, or remove it, as needed.
            this.userTableAdapter.Fill(this.usersDataSet.User);
        }

        private void userDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
        {
            //Code to delete an item
        }

        private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
        {
            //Code to add an item
        }
    }
}

所以,我现在需要执行更新和删除,任何帮助都将非常感激。

2 个答案:

答案 0 :(得分:0)

要在更新数据时验证数据,您可以订阅RowValidating事件并在那里进行流程验证。请参考此示例:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowvalidating.aspx

答案 1 :(得分:0)

从表中删除只是一个问题,

connStr = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\temp\\Set.mdb;Persist Security Info=False");
        try
        {
            //Empty the table
            sql = "Delete from " + table;
            using (OleDbConnection conn = new OleDbConnection(connStr))
            {
                conn.Open();
                using (OleDbCommand cmd1 = new OleDbCommand(sql, conn))
                {
                    cmd1.ExecuteNonQuery();
                }
            }
        }

我不知道其余的,因为在验证数据时我打开了类似的相关问题。