C#操作Access数据库的实现过程(vs2019)

  public partial class FormDatabase : Form

  {

  // 连接字符串

  private string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:Users10234DesktopDATA.accdb";//此处为前面复制出来的代码

  //声明

  private OleDbConnection conn = null;

  private OleDbDataAdapter adapter = null;

  private DataTable dt = null;

  public FormDatabase()

  {

  InitializeComponent();

  }

  private void button1_Click(object sender, EventArgs e)

  {

  // 连接数据库,需要传递连接字符串

  conn = new OleDbConnection(connStr);

  // 打开数据库连接

  conn.Open();

  // "Select * from 表1"为SQL语句,意思是从数据库中选择叫做“表1”的表,“conn”为连接

  adapter = new OleDbDataAdapter("Select * from 表1", conn);

  // CommandBuilder对应的是数据适配器,需要传递参数

  var cmd = new OleDbCommandBuilder(adapter);

  // 在内存中创建一个DataTable,用来存放、修改数据库表

  dt = new DataTable();

  // 通过适配器把表的数据填充到内存dt

  adapter.Fill(dt);

  // 把数据显示到界面

  dataGridView1.DataSource = dt.DefaultView;

  }

  private void button2_Click(object sender, EventArgs e)

  {

  try

  {

  // 按下按钮后,把内存中修改的部分传递给适配器,再通过适配器传递给数据库

  adapter.Update(dt);

  // 清除内存中存放的表数据

  dt.Clear();

  // 重新读取已经改变过的表数据

  adapter.Fill(dt);

  }

  catch (Exception ex)

  {

  MessageBox.Show(ex.Message);

  }

  finally

  {

  }

  }

  private void button3_Click(object sender, EventArgs e)

  {

  string sql = textBox1.Text;

  OleDbCommand comm = new OleDbCommand(sql, conn);

  comm.ExecuteNonQuery();

  }

  private void FormDatabase_Load(object sender, EventArgs e)

  {

  textBox1.Text = "insert into 表1(工作时间,工作机位,摄像头编号,IP地址)values(2009/12/31,2,3,4)";

  }

  }