C# Access數(shù)據(jù)庫(kù)增刪查改的簡(jiǎn)單方法
引用集:
using System.Data.OleDb;
static string exePath = System.Environment.CurrentDirectory;//本程序所在路徑
//創(chuàng)建連接對(duì)象
OleDbConnection conn = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=" + exePath + @"\文件名.mdb");
1.和查詢有關(guān)的,如獲取表數(shù)據(jù)(包括所謂的“刷新”和“連接數(shù)據(jù)庫(kù)”)、按條件查詢,都是用的 OleDbDataAdapter
private void 獲取數(shù)據(jù)表/查詢()
{
conn.Open();
//獲取數(shù)據(jù)表
//string sql = "select * from 表名 order by 字段1";
//查詢
string sql = "select * from 表名 where 字段2="...;
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn); //創(chuàng)建適配對(duì)象
DataTable dt = new DataTable(); //新建表對(duì)象
da.Fill(dt); //用適配對(duì)象填充表對(duì)象
dataGridView1.DataSource = dt; //將表對(duì)象作為DataGridView的數(shù)據(jù)源
conn.Close();
}
其中“獲取數(shù)據(jù)表”屬于頻繁被嵌套調(diào)用的方法,所以應(yīng)去掉頭尾的conn.Open和Close,以免和其他方法中的Open發(fā)生累加從而報(bào)錯(cuò)。
2.凡涉及修改表數(shù)據(jù)的,如增、刪、保存修改,都是用 OleDbCommand
private void 增/刪/改()
{
conn.Open();
//增
string sql = "insert into 表名(字段1,字段2,字段3,字段4)values(...)";
//刪
//string sql = "delete from 表名 where 字段1="...;
//改
//string sql = "update student set 學(xué)號(hào)=" ...;
OleDbCommand comm = new OleDbCommand(sql, conn);
comm.ExecuteNonQuery();
conn.Close();
}
其中ExecuteNonQuery被成功更改的元組數(shù)量,所以comm.ExecuteNonQuery()也可以改造為判斷,提示用戶成功或失敗。
int i = comm.ExecuteNonQuery();
if (i > 0)
{
MessageBox.Show("添加數(shù)據(jù)成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("添加失敗!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
3.對(duì)DataGridView中數(shù)據(jù)更改的保存
private void saveData2()
{
dataGridView1.EndEdit();
string sql = "select * from 表名";
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
OleDbCommandBuilder bld = new OleDbCommandBuilder(da);
da.UpdateCommand = bld.GetUpdateCommand();
//把DataGridView賦值給dataTbale。(DataTable)的意思是類型轉(zhuǎn)換,前提是后面緊跟著的東西要能轉(zhuǎn)換成dataTable類型
DataTable dt = (DataTable)dataGridView1.DataSource;
da.Update(dt);
dt.AcceptChanges();
conn.Close();
}
- C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫(kù)
- C# 操作 access 數(shù)據(jù)庫(kù)的實(shí)例代碼
- c# 使用Entity Framework操作Access數(shù)據(jù)庫(kù)的示例
- C#連接Oracle數(shù)據(jù)庫(kù)使用Oracle.ManagedDataAccess.dll
- C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫(kù)操作類完整實(shí)例
- C#編程實(shí)現(xiàn)連接ACCESS數(shù)據(jù)庫(kù)實(shí)例詳解
- C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫(kù)及表的方法
- c#連接access數(shù)據(jù)庫(kù)操作類分享
- C#操作Access數(shù)據(jù)庫(kù)的實(shí)現(xiàn)過(guò)程(vs2019)
相關(guān)文章
c#基礎(chǔ)知識(shí)---委托,匿名函數(shù),lambda
這篇文章主要介紹了c# 委托,匿名函數(shù),lambda的相關(guān)知識(shí),文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06
C#對(duì)稱加密(AES加密)每次生成的結(jié)果都不同的實(shí)現(xiàn)思路和代碼實(shí)例
這篇文章主要介紹了C#對(duì)稱加密(AES加密)每次生成的結(jié)果都不同的實(shí)現(xiàn)思路和代碼實(shí)例,每次解密時(shí)從密文中截取前16位,這就是實(shí)現(xiàn)隨機(jī)的奧秘,本文同時(shí)給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-07-07
C#導(dǎo)出pdf的實(shí)現(xiàn)方法(瀏覽器不預(yù)覽直接下載)
這篇文章主要給大家介紹了關(guān)于C#導(dǎo)出pdf的實(shí)現(xiàn)方法,實(shí)現(xiàn)后瀏覽器不預(yù)覽就可以直接下載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
C#使用iTextSharp設(shè)置PDF所有頁(yè)面背景圖功能實(shí)例
這篇文章主要介紹了C#使用iTextSharp設(shè)置PDF所有頁(yè)面背景圖功能,實(shí)例分析了C#使用iTextSharp設(shè)置PDF頁(yè)面背景圖的實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
UGUI ScrollRect滑動(dòng)定位優(yōu)化詳解
這篇文章主要為大家詳細(xì)介紹了UGUI ScrollRect滑動(dòng)定位優(yōu)化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04

