ACCESS數據的連接及語句執行操作,不難,久不用會生疏,每次都要找資料,乾脆自己整理下,記錄下來,需要的時候,直接查看,提高效率。也供初學者參考 1、連接字元串 public static string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Da ...
ACCESS數據的連接及語句執行操作,不難,久不用會生疏,每次都要找資料,乾脆自己整理下,記錄下來,需要的時候,直接查看,提高效率。也供初學者參考
1、連接字元串
public static string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Directory.GetCurrentDirectory() + "\\**.mdb;";
2、數據語句執行(增刪差改,用戶名查重,根據用戶獲取密碼查詢)
//獲取所有數據集--返回所有數據
public static DataSet ExecuteQuery(string strSql) //strsql需要執行的查詢語句
{
using (OleDbConnection conn = new OleDbConnection(strConn))
{
try
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OleDbDataAdapter adapter = new OleDbDataAdapter(strSql, strConn);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
}
catch (OleDbException ole)
{
throw ole;
}
finally
{
conn.Close();
}
}
}
//增刪改的查詢語句的執行--返回受影響行數
public static int ExecuteNonQuery(string strSql) //strsql需要執行的查詢語句
{
try
{
using (OleDbConnection conn = new OleDbConnection(strConn))
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OleDbCommand cmd = new OleDbCommand(strSql, conn);
//執行事務,事務將控制和維護事務中每個操作的一致性和完整性
OleDbTransaction ts = conn.BeginTransaction();
cmd.Transaction = ts;
int iRet = cmd.ExecuteNonQuery();
if (iRet > 0)
{
ts.Commit();//如果返回數據大於0,執行操作
}
else
{
ts.Rollback();//不為0,則回滾
}
return iRet;
}
}
catch (OleDbException OleDbException)
{
throw OleDbException;
}
}
/// 查詢返回第一行數據---根據用戶名查密碼(返回根據用戶名返回的一條數據)
public static DataRow ExecuteRow(string strLoginSql) //strsql需要執行的查詢語句
{
DataRow row;
using (OleDbConnection conn = new OleDbConnection(strConn)) //嘗試鏈接資料庫
{
try
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OleDbDataAdapter adapter = new OleDbDataAdapter(strLoginSql, strConn);//實例化一個數據適配器
DataTable ds = new DataTable();
adapter.Fill(ds);//將數據填充到適配器中
if (ds.Rows.Count == 0)
{
row = null;
}
else
{
row = ds.Rows[0];
}
}
catch (Exception ex)
{
return null;
}
finally
{
conn.Close();
}
}
return row;
}
/// 查詢結果,返回第一行第一列----用於查重(註冊用戶名是否已經存在,插入數據是否已經存在)---返回0、1
public static int ExecuteScalar(string strSql) //strsql需要執行的查詢語句
{
try
{
using (OleDbConnection conn = new OleDbConnection(strConn))
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OleDbCommand cmd = new OleDbCommand(strSql, conn);
Object obj = cmd.ExecuteScalar();
if (obj != null && !Convert.IsDBNull(obj))
{
return 1;
}
else
{
return 0;
}
}
}
catch (OleDbException OleDbException)
{
throw OleDbException;
}
}
主要對這個方法留個備份,也供初學使用者參考。