一個操作資料庫的函數。。。為了方便我把它寫到了一個單獨的檔案裡。。這裡示範了其實現方法。
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
<script runat="server">
public string v_string_dbname="database.mdb";
public OleDbConnection conn;
public OleDbCommand cmd;
public OleDbDataReader rs;
/***************************************************************************
* 關閉與資料庫的串連
* 例:DatabaseClose();
***************************************************************************/
public void DatabaseClose()
{
rs.Close();
conn.Close();
}
/***************************************************************************
* 資料庫操作函數
* 使用本函數需要在要使用函數的檔案中使用 <%@Page Language="C#"%>指令
* 參數
* v_string_sql SQL語句,要執行的SQL
* nonQuery 執行方式,為true的話執行ExecuteNonQuery,適合執行INSERT類語句
* 為false則會將查詢內容輸出到rs對象中,適合執行SELECT類語句
***************************************************************************/
public bool DatabaseOption(string v_string_sql, bool nonQuery)
{
string v_string_db = Server.MapPath(".") + "\\" + v_string_dbname;
string v_string_conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + v_string_db;
bool v_bool_retValue = false;
// 構造資料庫操作對象
conn = new OleDbConnection(v_string_conn);
cmd = new OleDbCommand(v_string_sql, conn);
// 嘗試開啟資料庫,並讀取資料
try
{
conn.Open();
if(nonQuery)
{
cmd.ExecuteNonQuery();
}
else
{
rs = cmd.ExecuteReader();
}
v_bool_retValue = true;
}
catch(OleDbException ex)
{
v_bool_retValue = false;
conn.Close();
}
// 如果是執行的空查詢操作那麼使用完串連後就關閉它
if(nonQuery) conn.Close();
return(v_bool_retValue);
}
</script>