C#操作Access数据库
本教程介紹了如何通過ADO.NET的OleDb相關類來操作Access數據庫的相關步驟。
1?????軟件環境
開發平臺:Microsoft Visual Studio 2010
數據庫:Microsoft Office Access 2007
2?????建立數據庫步驟
(1) 打開Microsoft Office Access 2007,選擇空白數據庫,然后輸入數據庫名稱和存放路徑,這里數據庫名稱為login.accdb,路徑在D盤下,單機創建。
?
(2)選中表1,右鍵選擇設計視圖,然后輸入表名,這里為tb_user,單擊確定。?
(3)填寫字段名稱和數據類型。
(4)選中tb_user表,單擊右鍵—>打開,在里面添加數據即可。
?
3?????C#代碼操作步驟
(1)???命名空間
??????????? using?System.Data.OleDb;
(2)???連接字符串
??????????? private?staticstring?connStr =?@"Provider= Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb";
??????????? 注意:
???????????? a、DataSource = 數據庫存放的路徑(這里數據庫放到了D盤目錄下)
???????????? b、?2003版本的Access數據庫鏈接字符串:??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)???建立連接:
??????????? OleDbConnection?tempconn =new?OleDbConnection(connStr);
(4)???使用OleDbCommand類來執行Sql語句:
?????????? OleDbCommand?cmd?=?new?OleDbCommand(sql,?tempconn); ?
?????????? tempconn.Open();
?????????? cmd.ExecuteNonQuery();
?
(5)???代碼
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);}}}}}轉載自:http://blog.csdn.net/zhouxy0901/article/details/39968437
總結
以上是生活随笔為你收集整理的C#操作Access数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 版本控制工具历史的10个里程碑
- 下一篇: c# 调用c库dll ,char*转st