隨筆:
(1) 命名空間
using System.Data.OleDb;
(2) 連接字符串
1
|
private staticstring connStr = @"Provider= Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb" ; |
注意:
a、DataSource = 數據庫存放的路徑(這里數據庫放到了D盤目錄下)
b、 2003版本的Access數據庫鏈接字符串:
1
2
|
privatestatic stringconnStr = @"Provider = Microsoft.Jet.OLEDB.4.0;DataSource = d:\login.mdb" ; 2007版本的Access數據庫鏈接字符串:privatestaticstring connStr = @"Provider= Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb" ; |
(3) 建立連接:
1
|
OleDbConnection tempconn = new OleDbConnection(connStr); |
(4) 使用OleDbCommand類來執行Sql語句:
1
2
3
|
OleDbCommand cmd = new OleDbCommand(sql, tempconn); tempconn.Open(); cmd.ExecuteNonQuery(); |
栗子(工具類):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Windows.Forms; using System.Data; namespace test { class AccessHelper { private static string connStr = @"Provider = Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb" ; public static OleDbConnection GetConn() { OleDbConnection tempconn = new OleDbConnection(connStr); MessageBox.Show(tempconn.DataSource); tempconn.Open(); MessageBox.Show(tempconn.State.ToString()); return (tempconn); } /// <summary> /// 執行增加、刪除、修改指令 /// </summary> /// <param name="sql">增加、刪除、修改的sql語句</param> /// <param name="param">sql語句的參數</param> /// <returns></returns> public static int ExecuteNonQuery( string sql, params OleDbParameter[] param) { using (OleDbConnection conn = new OleDbConnection(connStr)) { using (OleDbCommand cmd = new OleDbCommand(sql,conn)) { if (param != null ) { cmd.Parameters.AddRange(param); } conn.Open(); return (cmd.ExecuteNonQuery()); } } } /// <summary> /// 執行查詢指令,獲取返回的首行首列的值 /// </summary> /// <param name="sql">查詢sql語句</param> /// <param name="param">sql語句的參數</param> /// <returns></returns> public static object ExecuteScalar( string sql, params OleDbParameter[] param) { using (OleDbConnection conn = new OleDbConnection(connStr)) { using (OleDbCommand cmd = new OleDbCommand(sql, conn)) { if (param != null ) { cmd.Parameters.AddRange(param); } conn.Open(); return (cmd.ExecuteScalar()); } } } /// <summary> /// 執行查詢指令,獲取返回的datareader /// </summary> /// <param name="sql">查詢sql語句</param> /// <param name="param">sql語句的參數</param> /// <returns></returns> public static OleDbDataReader ExecuteReader( string sql, params OleDbParameter[] param) { OleDbConnection conn = new OleDbConnection(connStr); OleDbCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; if (param != null ) { cmd.Parameters.AddRange(param); } conn.Open(); return (cmd.ExecuteReader(CommandBehavior.CloseConnection)); } /// <summary> /// 執行查詢指令,獲取返回datatable /// </summary> /// <param name="sql">查詢sql語句</param> /// <param name="param">sql語句的參數</param> /// <returns></returns> public static DataTable ExecuteDatable( string sql, params OleDbParameter[] param) { using (OleDbConnection conn = new OleDbConnection(connStr)) { using (OleDbCommand cmd = new OleDbCommand(sql, conn)) { if (param != null ) { cmd.Parameters.AddRange(param); } DataTable dt = new DataTable(); OleDbDataAdapter sda = new OleDbDataAdapter(cmd); sda.Fill(dt); return (dt); } } } } } |
總結
以上所述是小編給大家介紹的C# 操作 access 數據庫的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://www.cnblogs.com/lsy131479/archive/2018/03/26/8650515.html