【问题标题】:Update/delete data from Datagrid从 Datagrid 更新/删除数据
【发布时间】:2011-12-28 15:25:02
【问题描述】:

我是 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
        }
    }
}

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

【问题讨论】:

  • 哪个 UI 框架? WinForms、WPF、Silverlight、ASP.NET WebForms、LightSwitch?
  • 桌面,一个windows窗体。
  • 为你添加了“winforms”标签。
  • 啊,谢谢,还在等待任何帮助。

标签: c# database winforms datagrid


【解决方案1】:

要在更新数据时验证数据,您需要订阅 RowValidating 事件并在那里处理验证。请参考这个例子:

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

【讨论】:

    【解决方案2】:

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

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

    我不知道其余的,因为在验证数据时我有一个类似的相关问题未解决。

    【讨论】:

      猜你喜欢
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      相关资源
      最近更新 更多