C# Access數(shù)據(jù)庫增刪查改的簡(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ù)庫”)、按條件查詢,都是用的 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ù)庫
- C# 操作 access 數(shù)據(jù)庫的實(shí)例代碼
- c# 使用Entity Framework操作Access數(shù)據(jù)庫的示例
- C#連接Oracle數(shù)據(jù)庫使用Oracle.ManagedDataAccess.dll
- C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫操作類完整實(shí)例
- C#編程實(shí)現(xiàn)連接ACCESS數(shù)據(jù)庫實(shí)例詳解
- C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫及表的方法
- c#連接access數(shù)據(jù)庫操作類分享
- C#操作Access數(shù)據(jù)庫的實(shí)現(xiàn)過程(vs2019)
相關(guān)文章
C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類
這篇文章介紹了C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05基于C#的winform實(shí)現(xiàn)數(shù)字華容道游戲
這篇文章主要為大家詳細(xì)介紹了基于C#的winform實(shí)現(xiàn)數(shù)字華容道游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Chrome Visual Studio 2005下的編譯過程
研究Chrome ,首先得把它編譯出來,這對(duì)于后續(xù)的代碼分析和閱讀有很大的幫助,想想自己編譯出一個(gè) Chrome 瀏覽器來使用,那是一件很炫的事情。2009-07-07支持多類型數(shù)據(jù)庫的c#數(shù)據(jù)庫模型示例
本文為大家提供一個(gè)c#數(shù)據(jù)庫訪問模型,支持多類型數(shù)據(jù)庫,簡(jiǎn)單抽取數(shù)據(jù)庫訪問函數(shù),大家參考使用吧2014-01-01c#基礎(chǔ)系列之System.String的深入理解
這篇文章主要給大家介紹了關(guān)于c#基礎(chǔ)系列之System.String的深入理解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09Unity Shader實(shí)現(xiàn)徑向模糊效果
這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)徑向模糊效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08