连接Accsess数据库 >> 函数代码
OleDbConnection conn = null; //连接数据库字符串,更改为全局变量 public OleDbConnection GetConnection() // 1、创建数据库连接 { string str = "Provider=Microsoft.Jet.Oledb.4.0;"; str += @"Data Source=D:\CHManager\SUNFULCESS.mdb"; //连接字符串 try { conn = new OleDbConnection(str); } catch (Exception ex) { throw ex; } return conn; }
显示代码 >>
private void DataDisplay() ////2、将数据库中的内容在datagridview中显示 { string sql = "select * from Partner order by [ID]"; OleDbDataAdapter da = new OleDbDataAdapter(sql, conn); //实例化DataAdapter DataSet ds = new DataSet(); //DataSet表示数据在内存中的缓存 da.Fill(ds,"Partner"); //用da中的表“Partner”去填充空白的ds DataTable dt=ds.Tables["Partner"]; dataGridView1.DataSource = dt; //改列名称,调整列位置,填充列内容 dataGridView1.Columns[1].HeaderText = "客户编号"; //改变列名 dataGridView1.Columns[2].HeaderText = "姓 名"; //改变列名 dataGridView1.Columns[3].HeaderText = "地 址"; //改变列名 dataGridView1.Columns[5].HeaderText = "座 机"; //改变列名 dataGridView1.Columns[3].DataPropertyName = ds.Tables["Partner"].Columns[5].ToString(); dataGridView1.Columns[5].DataPropertyName = ds.Tables["Partner"].Columns[3].ToString(); }
点击连接显示按钮>>
//连接数据库 conn = GetConnection(); conn.Open(); try { DataDisplay(); //将数据库中的内容在datagridview中显示 } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); }
显示效果:
======================================== 插入一行数据 >> 保存至数据库并刷新 ===================================================
conn.Open(); //此行解决 “ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。”问题 try { //插入数据库新行代码 string sqlStr = "insert into Partner(PartnerID,[PartnerName]) values(@PartnerID,@PartnerName)"; OleDbCommand com = new OleDbCommand(sqlStr, conn); com.Parameters.AddWithValue("@PartnerID", tbxID.Text); //PartnerID唯一,后期加验证代码段 com.Parameters.AddWithValue("@PartnerName", tbxName.Text); com.ExecuteNonQuery(); DataDisplay(); //刷新dataGridView视图数据 } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); }
效果图:
============================ 编辑数据代码段 ======================================================