1:类Access,包含读取数据库,更新数据库方法:
1 class Access 2 { 3 private OleDbConnection OleCon = null;//连接数据库 4 private OleDbDataAdapter OleAdapter = null;//转换器 5 private DataSet ds = new DataSet();//数据集 6 public void AccessRead(string strFilePath, string strSQL, object obj) 7 { 8 string str = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + strFilePath; 9 try 10 { 11 OleCon = new OleDbConnection(str);//连接数据库 12 if (OleCon.State == ConnectionState.Open) { OleCon.Close(); } 13 OleCon.Open(); 14 // 15 OleAdapter = new OleDbDataAdapter(strSQL, OleCon);//执行语句 16 // 17 OleAdapter.Fill(ds);//填充数据集ds 18 // 19 DataGridView dgv = (DataGridView)obj; 20 dgv.DataSource = ds.Tables[0]; 21 // 22 OleCon.Close(); 23 } 24 catch (Exception ex) 25 { 26 MessageBox.Show(ex.ToString(), "提示"); 27 } 28 29 } 30 // 31 public void AccessUpdate() 32 { 33 34 //自动生成用于协调对 DataSet 的更改与关联数据库的单表命令 35 OleDbCommandBuilder OleCb = new OleDbCommandBuilder(OleAdapter);//创建命令重建对象 36 try 37 { 38 OleAdapter.Update(ds);//更新数据 39 } 40 catch (Exception ex) 41 { 42 MessageBox.Show(ex.ToString(), "提示"); 43 } 44 } 45 }
2:Form界面操作:
1 Access ac = new Access(); 2 //读取数据库 3 private void btnOpen_Click(object sender, EventArgs e) 4 { 5 string strFilePath=Application .StartupPath + @"\db\Database.mdb"; 6 string ChartName = "OracleInfo"; 7 string strSQL = "SELECT * FROM " + ChartName + " ORDER BY id ASC"; 8 ac.AccessRead(strFilePath, strSQL, dgv1); 9 } 10 //更新数据库 11 private void btnSave_Click(object sender, EventArgs e) 12 { 13 ac.AccessUpdate(); 14 MessageBox.Show("更新成功", "提示"); 15 }
3:效果如图:
1:当点击“'打开"按钮,看到数据库加载到控件DataGridView。
2:当修改第1列中的数据库名“24“修改为”20171128,点击“保存”后,显示"保存成功“。