using System;
using System.Data;
using System.Web;
using System.Configuration;
using System.Data.OleDb;
using System.Web.UI.WebControls;
namespace accdb
//科長-2006-07-write
//access資料庫操作類
{
/// <summary>
/// dbconn 的摘要說明。
/// </summary>
public class dbconn
{
/// <summary>
/// 取一個AppSettings變數的值
/// </summary>
/// <param name="Appstr">AppSettingsr的名字</param>
/// <returns></returns>
public static string GetApp(string Appstr)
{
return ConfigurationSettings.AppSettings[Appstr];
}
/// <summary>
/// 彈出錯誤提示
/// </summary>
/// <param name="alert_str"> 提示字串</param>
public static void myalert(string alert_str)
{
HttpContext.Current.Response.Write("<script>alert('"+alert_str+"');</script>");
}
/// <summary>
/// 建立SQL串連
/// </summary>
public static OleDbConnection CreateOleDbConnection()
{
OleDbConnection myConnection = new OleDbConnection( GetApp("ConnString"));
myConnection.Open();
return myConnection;
}
/// <summary>
/// 執行SQL語句
/// </summary>
/// <param name="SQl">要執行的SQL語句</param>
public static void dosql(string strsql )
{
OleDbConnection conn=dbconn.CreateOleDbConnection();
OleDbCommand myCommand=new OleDbCommand(strsql,conn);
myCommand.ExecuteNonQuery();
conn.Close();
}
/// <summary>
/// 更新和刪除SQL語句
/// </summary>
/// <param name="sql">SQL語句</param>
/// <returns>BOOL是否執行成功</returns>
public static bool ExecuteUpdate(string sql)
{
try
{
OleDbCommand dCom=new OleDbCommand();
dCom.CommandText = sql;
int flag = dCom.ExecuteNonQuery();
if(flag != -1)
{
return true;
}
else
{
return false;
}
}
catch//(Exception ex)
{
return false;
}
}
/// <summary>
/// 傳入SQL語句,返回一個DataSet類型的資料表集合
/// </summary>
/// <param name="strsql">SQL語句字串</param>
/// <returns>dataset</returns>
public static DataSet GETdataset (string strsql)
{
OleDbConnection conn=dbconn.CreateOleDbConnection();
OleDbDataAdapter dApter = new OleDbDataAdapter(strsql,conn);
DataSet DS = new DataSet();
dApter.Fill(DS);
conn.Close();
return DS;
}
/// <summary>
/// 傳入SQL語句返回一個DataTable
/// </summary>
/// <param name="strsql">SQL語句</param>
/// <returns></returns>
public static DataTable GetDataTable(string strsql)
{
OleDbConnection conn=dbconn.CreateOleDbConnection();
OleDbDataAdapter DataAdapter1 = new OleDbDataAdapter(strsql, conn);
DataSet DS=new DataSet();
DataAdapter1.Fill(DS);
conn.Close();
return DS.Tables[0];
}
/// <summary>
/// 傳入SQL語句,DataGrid資料幫定
/// </summary>
/// <param name="intPageNumber">分頁數</param>
/// <param name="DG_name">DataGrid名稱</param>
/// <param name="strsql">SQL語句</param>
public static void BindDataGrid (int intPageNumber,DataGrid DG_name,string strsql )
{
// ----------- 資料庫連接 -----------
OleDbConnection conn=dbconn.CreateOleDbConnection();
/* // 方法一
SqlCommand myCommand = new SqlCommand(SqlCmd, myConnection);
SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter();
sqlDataAdapter1.SelectCommand = myCommand;
DataSet ds1= new DataSet();
sqlDataAdapter1.SelectCommand.ExecuteNonQuery();
sqlDataAdapter1.Fill(ds1);
DataView source = new DataView(ds1.Tables[0]);
DataGrid1.DataSource=source;
DataGrid1.DataBind();
myConnection.Close();
*/
// 方法二
OleDbDataAdapter DataAdapter1 = new OleDbDataAdapter(strsql, conn);
DataSet ds = new DataSet();
DataAdapter1.Fill(ds);
try
{
DataTable DT = ds.Tables[0];
DG_name.DataSource = DT;
/*-----------------------------------------
* 翻頁的時候要設定的就是下面這個屬性
* ----------------------------------------*/
DG_name.CurrentPageIndex = intPageNumber;
DG_name.DataBind();
}
catch (OleDbException ex)
{
}
finally
{
ds.Dispose();
ds.Clear();
DataAdapter1.Dispose();
conn.Close();
}
}
}
}