C# 操作 access 数据库2
隨筆:
(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();
?
?
栗子(工具類):
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 数据库2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VSCode 多开、环境对比
- 下一篇: 浅谈 CSRF 攻击方式