C#DataGridView(使用数据源填充)未保存到数据库

C#DataGridView(使用数据源填充)未保存到数据库,c#,database,datagridview,save,datasource,C#,Database,Datagridview,Save,Datasource,我有一个表单,希望用户能够从数据库表“Users”中删除和编辑(而不是添加)行。我在VS2010中创建了一个表单和一个数据源,该数据源是使用NewDataSource向导创建的。从这里,我将DataSource windowstrip中Users表的DataGridView拖放到表单中 我遇到的问题是,当我运行应用程序时,数据将很好地加载到DataGridView中,但当我删除或编辑一行并单击“保存”时,它不会更新数据库 我是一个新手,所以我肯定我做了一些愚蠢或幼稚的事情-我需要在这里添加一些s

我有一个表单,希望用户能够从数据库表“Users”中删除和编辑(而不是添加)行。我在VS2010中创建了一个表单和一个数据源,该数据源是使用NewDataSource向导创建的。从这里,我将DataSource windowstrip中Users表的DataGridView拖放到表单中

我遇到的问题是,当我运行应用程序时,数据将很好地加载到DataGridView中,但当我删除或编辑一行并单击“保存”时,它不会更新数据库

我是一个新手,所以我肯定我做了一些愚蠢或幼稚的事情-我需要在这里添加一些sql调用吗

有什么想法吗

public partial class EditUsers : Form
{
    public EditUsers()
    {
        InitializeComponent();
    }

    private void EditUsers_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'debenhamsProjectOfficeDatabaseDataSet.Users' table. You can move, or remove it, as needed.
        this.usersTableAdapter.Fill(this.debenhamsProjectOfficeDatabaseDataSet.Users);

    }

    private void usersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {
        try
        {
            this.Validate();
            this.usersBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.debenhamsProjectOfficeDatabaseDataSet);
            MessageBox.Show("Update successful");
        }
        catch (System.Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
}


使用数据库填充datagrid视图的一种更灵活的方法是使用连接字符串

在解决方案资源管理器中右键单击项目文件并添加新项。添加一个类并将其命名为connection.cs。在这里输入

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Your_Project_Name
{
class Connection
{
    string ConnectionString;
    public Connection()
    {
        ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
        "Data Source=C:/User/somefolder/Your_Database.accdb;Persist Security Info=False;";

    }
    public string getConnection()
    {
        return ConnectionString;
    }
}
现在使用
System.Data.OleDb添加到表单顶部的标题1

现在在
public分部类EditUsers:Form
put中

OleDbConnection connect = new OleDbConnection();
        OleDbCommand command = new OleDbCommand();
        OleDbDataReader reader;
        Connection c;
最后在
private void EditUsers\u Load
中键入

c = new Connection();
            connect.ConnectionString = c.getConnection();