資料庫操作類(可用於任意資料庫)

來源:互聯網
上載者:User
資料|資料庫 前些日子無聊寫的一個類,針對於不同的資料庫來寫的。
現在還是不能說是完整的,因為還有很多功能都沒有寫完全。同樣,在下面的代碼當中也只可用於SQL和OLE兩種,對於Oracle、MySql等還沒有支援。當然,這類的擴充功能對其它資料庫的支援只要在檔案中加入那麼一句就可以用了!^o^
====================================================

這裡我用一個例子做源碼說明:
在Web.config裡加入..:

<appSettings>
<add key="sqlConnection" value="SERVER=(local);USER ID=sa;PWD=zxbbugu;DATABASE=testdatabase;CONNECT TIMEOUT=5;" />
</appSettings>


建立一個類檔案:DataBaseConnec.cs

using System;
using System.Data;
using System.Configuration;

namespace Test
{
/// <summary>
/// DataBaseConnect 的摘要描述。
/// </summary>
public class DataBaseConnect
{

public string dataBaseType;
public string dataBaseName;

protected IDbConnection dataConnection;

public DataBaseConnect()
{
//
// TODO: 在這裡加入建構函式的程式碼
//
}

public IDbConnection DbConnection()
{
//判斷數據庫類型以及打開在web.config裡key所指定的數據庫。返回IDbConnection值。
switch (dataBaseType)
{
case "SQL":
dataConnection = new System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings[dataBaseName]);
break;
case "OLE":
dataConnection = new System.Data.OleDb.OleDbConnection(ConfigurationSettings.AppSettings[dataBaseName]);
break;
}
return dataConnection;
}
}
}


================================================

再建一個類檔案:DataBaseTool.cs

using System;
using System.Data;

namespace Test
{
/// <summary>
/// DataBaseTool 的摘要描述。
/// </summary>
public class DataBaseTool
{
private IDbConnection dbConnection;
private IDbCommand cmd;
private IDataReader dataReader;
private DataBaseConnect dbConnect = new DataBaseConnect();

public DataBaseTool()
{
//
// TODO: 在這裡加入建構函式的程式碼
//
}

public void Open(string dataBaseType,string dataBaseName)
{
//成員函數,參數dataBaseType為數據庫類型,參數dataBaseName為在web.config裡的key名稱
dbConnect.dataBaseType = dataBaseType.ToUpper();
dbConnect.dataBaseName = dataBaseName;

dbConnection = dbConnect.DbConnection();
dbConnection.Open();
cmd = dbConnection.CreateCommand();
}

public void Close()
{
//鏈接關閉斷開。
cmd.Dispose();
dbConnection.Close();
dbConnection.Dispose();
}

public IDataReader GetData(string sqlString)
{
//數據查詢。返回一個DataReader值。
cmd.CommandText = sqlString;
dataReader = cmd.ExecuteReader();

return dataReader;
}

public int InsertData(string sqlString)
{
//數據插入。返回影響行數。
cmd.CommandText = sqlString;
return cmd.ExecuteNonQuery();
}

public int DeleteData(string sqlString)
{
//數據刪除。返回影響行數。
cmd.CommandText = sqlString;
return cmd.ExecuteNonQuery();
}

public int UpdateData(string sqlString)
{
//數據更新。返回影響行數。
cmd.CommandText = sqlString;
return cmd.ExecuteNonQuery();
}
}
}


==================================================

類檔案建完成後便可用了!^o^
下面是簡單的用法:

DataBaseTool dbTool = new DataBaseTool();   //執行個體化對像
dbTool.Open("SQL","sqlConnection");   //開啟資料庫
string sqlString = "SELECT * FROM administrator";   //定義SQL語句
DataGrid.DataSource = dbTool.GetData(sqlString);   //資料梆定到DataGrid中。
dgList.DataBind();
dbTool.Close();  //資料庫關閉

====================================

在此類中還可以擴充很多東西,比如現在此類調用後只返回一個DataReader對像,還有很多沒用到,比如DataTable等。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。