1.access數據訪問層
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// AccessPublicClass 的摘要說明
/// </summary>
public class AccessPublicClass
{
//連接數據庫字符串
private string connectionString;
//存貯數據庫連接(保護類,只有由它派生的類纔可以訪問)
protected OleDbConnection Connection;
/// <summary>
/// 構造函數:數據庫的默認連接
/// </summary>
public AccessPublicClass()
{
string connStr;
connStr = ConfigurationSettings.AppSettings["ConnectionString"].ToString();//從web.config配置中讀取
connectionString = connStr;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 構造函數:帶有參數的數據庫連接
/// </summary>
/// <param name="newConnectionString"></param>
public AccessPublicClass(string newConnectionString)
{
connectionString = newConnectionString;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 獲得連接字符串
/// </summary>
public string ConnectionString
{
get
{
return connectionString;
}
}
/// <summary>
/// 執行SQL語句沒有返回結果,如:執行更新,刪除,插入等操作
/// </summary>
/// <param name="strSQL"></param>
/// <returns>操作成功標誌</returns>
public bool ExeSQL(string strSQL)
{
bool resultState = false;
Connection.Open();
OleDbTransaction myTrans = Connection.BeginTransaction();
OleDbCommand command = new OleDbCommand(strSQL, Connection, myTrans);
try
{
command.ExecuteNonQuery();
myTrans.Commit();
resultState = true;
}
catch
{
myTrans.Rollback();
resultState = false;
}
finally
{
Connection.Close();
}
return resultState;
}
/// <summary>
/// 執行SQL語句返回結果到DataSet中
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public DataSet ReturnDataSet(string strSQL)
{
Connection.Open();
DataSet dataSet = new DataSet();
OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection);
OleDbDA.Fill(dataSet, "objDataSet");
Connection.Close();
return dataSet;
}
/// <summary>
/// 執行SQL語句返回結果到DataTable中
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public DataTable ReturnDataTable(string strSql)
{
Connection.Open();
DataSet ds = new DataSet();
OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSql, Connection);
OleDbDA.Fill(ds, "objDataSet");
Connection.Close();
return ds.Tables["objDataSet"];
}
/// <summary>
/// 執行查詢語句,同時返回查詢結果數目
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public int ReturnSqlResultCount(string strSQL)
{
int sqlResultCount = 0;
try
{
Connection.Open();
OleDbCommand command = new OleDbCommand(strSQL, Connection);
OleDbDataReader dataReader = command.ExecuteReader();
while (dataReader.Read())
{
sqlResultCount++;
}
dataReader.Close();
}
catch
{
sqlResultCount = 0;
}
finally
{
Connection.Close();
}
return sqlResultCount;
}
/// <summary>
/// 彈出窗口
/// </summary>
public string ModalWindow(string openAspxPage, int width, int height)
{
string js = string.Format("javascript:window.showModalDialog(/"{0}&rand=" + new Random().Next().ToString() + "/",window,/"status:false;dialogWidth:{1}px;dialogHeight:{2}px/")", openAspxPage, width, height);
return js;
}
//***存在問題,無法解決關閉讀取器的問題***//
///// <summary>
/////通過數據閱讀器讀取數據庫的信息
///// </summary>
///// <param name="sql">查詢語句</param>
///// <returns>返回數據閱讀器</returns>
///// 創建一個數據庫連接對象,並在我們使用完之後釋放對象所佔的內存空間
//public OleDbDataReader ExecuteReader(string sql)
//{
// OleDbDataReader sdr;
// OleDbCommand cmd;
// using (OleDbConnection con = new OleDbConnection(connectionString))
// {
// cmd = new OleDbCommand(sql,con);
// con.Open();
// sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
// return sdr;
// }
//}
///// <summary>
///// 執行SQL語句返回結果到DataReader中
///// </summary>
///// <param name="strSQL"></param>
///// <returns></returns>
//public OleDbDataReader ReturnDataReader(string strSQL)
//{
// Connection.Open();
// OleDbCommand command = new OleDbCommand(strSQL, Connection);
// OleDbDataReader dataReader = command.ExecuteReader(CommandBehavior.CloseConnection);
// Connection.Close();
// return dataReader;
//}
}
2.dropdownlist數據綁定
/// <summary>
/// DropDownList數據綁定
/// </summary>
/// <param name="strSql"></param>
/// <param name="drdlst"></param>
/// <param name="one"></param>
/// <param name="first"></param>
public void GetDropDownListInfo(string strSql, DropDownList drdlst, string first,string one )
{
DataSet ds = ReturnDataSet(strSql);
drdlst.DataSource = ds;
drdlst.DataTextField = first;
drdlst.DataValueField = one;
drdlst.DataBind();
}
3.取得系統時間並做替換成字符串
/// <summary>
/// 以系統時間作爲靜態頁面的名字
/// </summary>
/// <returns>返回一個字符串類型</returns>
///
public string FileName()
{
//獲取當前系統時間並以字符串形式讀出來
string filename = DateTime.Now.ToString();
//將獲取的時間中的空格,冒號,橫槓換沒
filename = filename.Replace("-", "");
filename = filename.Replace(" ", "");
filename = filename.Replace(":", "");
return filename;
}
4.過濾危險字符和保持文本的輸入格式
/// <summary>
/// 將準備插入數據庫的信息的危險字符進行處理
/// </summary>
/// <param name="obj">要被處理的信息</param>
/// <returns>返回一個字符串</returns>
public string KeepFormat(string obj)
{
string code = obj;
code = code.Replace(",", "");
code = code.Replace(";", "");
code = code.Replace("'", "");
code = code.Replace(":", "");
code = code.Replace("/", "");
code = code.Replace("|", "");
code = code.Replace("?", "");
code = code.Replace(">", "");
code = code.Replace("<", "");
code = code.Replace("*", "");
code = code.Replace("(", "");
code = code.Replace("@", "");
code = code.Replace("!", "");
code = code.Replace("#", "");
code = code.Replace("$", "");
code = code.Replace("%", "");
code = code.Replace("^", "");
code = code.Replace("&", "");
code = code.Replace(")", "");
code = code.Replace("-", "");
code = code.Replace("+", "");
code = code.Replace("=", "");
code = code.Replace("{", "");
code = code.Replace("}", "");
code = code.Replace("[", "");
code = code.Replace("]", "");
code = code.Replace(" ", "");
//將要插入的數據中的危險字符轉換成ASCII存放到數據庫中,然後去出來就可以成了空格,換行等,這樣就保證了在文本里輸入的格式
code = code.Replace("&", "&");
code = code.Replace("<", "<");
code = code.Replace(">", ">");
code = code.Replace(((char)13).ToString(), "<br>");
code = code.Replace(((char)32).ToString(), " ");
code = code.Replace(((char)9).ToString(), " ");
code = code.Replace(((char)39).ToString(), "'");
code = code.Replace(((char)34).ToString(), """);
code = code.Replace(((char)34).ToString(), """);
return code;
}