修改DataGridView中的访问数据库

时间:2017-01-13 08:36:11

标签: c# winforms datagridview

我在Visual Studio 2017中有一个Windows窗体,只有DataGridView。 它连接到我桌面上的访问数据库。当我运行程序时,我可以在DataGridView中插入数据或更新数据。但它不会改变我的访问文件中的任何内容。我认为它只会在程序中更改本地dataset

private string rq_sql;
private string cnx;

private System.Data.OleDb.OleDbConnection oCnx;
private System.Data.OleDb.OleDbCommand oCmd;
private System.Data.DataSet oDS;

private void btn_insert_Click(object sender, EventArgs e) // insert content of textboxs when i click on the button
{
        this.actual_name = this.textBox2.Text;
        this.actual_phone = this.textBox1.Text;

        bg_matou = "INSERT INTO Table1(Telphone, Prenom) VALUES ('"+actual_phone+"','"+actual_name+"')";
        oCmd = new OleDbCommand(rq_sql, oCnx);
        oCnx.Open();
        oCmd.ExecuteNonQuery();
        oCnx.Close();
        this.table1TableAdapter.Fill(this.database1DataSet2.Table1);
}

我的数据库已更新,但在我的程序本地,我找不到一个解决方案来修改它在文件中。提前感谢您的帮助。

我发现了OleDbCommandBuilder的内容,但它是在VB .NET中,我真的不知道这个。

1 个答案:

答案 0 :(得分:1)

C#中的OleDbDataAdapter示例

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Data.OleDb;

public class frmDatabase
{
OleDbConnection con = new OleDbConnection();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter();

private void frmProject_Load(object sender, EventArgs e)
{
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\xxx\\xxx\\xxx.mdb";
    con.Open();
    ds.Tables.Add(dt);
    da = new OleDbDataAdapter("Select * from table", con);
    da.Fill(dt);
    dgvDetails.DataSource = dt.DefaultView;
    con.Close();
}


private void cmdUpdate_Click(object sender, EventArgs e)
{
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\xxx\\xxx\\xxx.mdb";
    con.Open();
    ds.Tables.Add(dt);
    da = new OleDbDataAdapter("Select * from table", con);
    da.Update(dt);
    con.Close();

}
public frmDatabase()
{
    Load += frmProject_Load;
}
}