程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> IsLine FrameWork系列之六--DataProvider數據訪問(下)

IsLine FrameWork系列之六--DataProvider數據訪問(下)

編輯:關於.NET

接上文

對文件系統的操作:

對於文件目前內置3中支持對象:XML、TEXT、CONFIG文件,分別位於類庫XMLProvider、TextProvider、SuitConfigProvider中,大家可以自己調用,文件操作大多使用靜態操作。

對config文件的操作:

這裡還要介紹一SuitConfigProvider類庫中的GetItem、GetSection、AppendItem、RemoveElement 方法,這幾個方法可以快速獲得we.config中的Item、節點內容,以及增加、移除節點,例如有個Item信息如下:

<add key="NameABC" value="Data Source=Server IP;User;Password=111111;Integrated Security=no;Enlist=false;Pooling=true;" />

使用SuitConfigProvider.GetItem("NameABC ") 語句就可以立即獲得該Item內容

SuitConfigProvider類中的方法實現為靜態,用戶可以直接調用,下表羅列了方法調用說明:

方法名 說明 static ConfigFileType ConfigType 指明config類型,默認為web應用程序 static string GetItem(string key) 獲得某個” add key”Item的值 static Hashtable GetSection(string SectionKey) 獲得某個節點的數據,返回HashTable static string GetConnectionString(string key) protected internal類型,初始化數據庫連接 static bool ModifyItem(string key, string value) 修改一個” add key”Item的值 static bool AppendItem(string key, string value) 添加一個” add key”Item的值 static bool RemoveElement(string Key) 移除” add key”Item

對文本文件操作:

方法名 說明 static string GetContent(string Fileinfo) 2次重載,獲得文件內容 static bool CreateFile(string FileInfo) 創建一個文件 static bool AppendFile(string str, string FileInfo) 2次重載,追加文件內容

對XML文件操作:

方法名 說明 static List<Hashtable> GetContent(string FileInfo, string SingleNode) 2次重載,獲得文件內容。傳入文件為文件路徑和根節點名稱,每個節點信息儲存在HashTable中,並以List<Hashtable>形式返回 static bool CreateFile(string SingleNode, string FileInfo) 創建一個文件,傳入文件為文件路徑和根節點名稱, static bool AppendFile(string SingleNode, string Element, List<Hashtable> Lht, string FileInfo) 2次重載,追加文件內容,傳入文件為根節點內名稱、追加節點名稱、追加內容結構和追加文件信息。

 

其中追加內容結構為List<Hashtable>,Hashtable的鍵名為追加後XML的節點名

Web.config對DataProvider的支援信息(選擇配置):

鍵名 解釋 IsLine.Provider.DataProvider.CfgDllName 反射的數據庫工廠DLL位置 IsLine.Security.Configuration.TokenKey 加密使用的種子(字符串) IsLine.Data.Configuration.DBConnectString 數據庫連接信息 IsLine.Data.Configuration.TextProviderFileInfo 默認文件位置 IsLine.Data.Configuration.SqlServerConnectString SQL數據庫連接信息 IsLine.Data.Configuration.OracleConnectString Oracle數據庫連接信息

關於IsLine.Data.ContainerDefiner命名空間的緩存支援:

這裡要提一下該命名空間下ContainerDefine類的緩存支援。

該類共實現 ISqlContainer, IOracleContainer, IFileContainer, IDisposable四個接口,包括了常見的ADO.Net數據對象,例如DataSet、Reader等,利用OracleProvider或 SqleProvider中相關方法獲得的數據對象,可以直接賦值給ContainerDefine類下的對應對象,例如:

    //聲明一個容器
    ContainerDefine cd = new ContainerDefine(CacheType.HttpRuntime, "IsLineCache");
    //將返回的DataSet對象賦值給cd容器
    cd.DataSet = new OracleProvider().ExecuteDataSet(sql,CommandType.StoredProcedure,"TestTable",null)

請大家注意,在生命cd時,構造函數有2個參數,第一個是開啟HttpRuntime緩存,第二個參數是緩存的名字,這樣cd中的DataSet對象被賦值後,會自動緩存,下次在調用cd.DataSet對象時,將自動從緩存中讀取,不需要 OracleProvider().ExecuteDataSet()方法重新取數據了,目前緩存支持.Net運行時緩存和上下文緩存,當然緩存策略默認是關閉的,當構造函數接收到上述參數時,才會開啟緩存。

有關緩存的詳細說明,請參看後面的文章“IsLine.HttpContent.HttpContentProvider命名空間系列”

DataProvider沒介紹的內容還有很多,這裡就不一一介紹了,也許以後有時間Aicken還會繼續寫完整的。

附 DataProvider Database方法大全:

方法/字段名 功能 類型 ExecuteNonQuery(string cmdText) 執行傳入的sql語句 static int ExecuteNonQuery(string cmdText, string connectionKey) 使用指定連接字符串connectionKey,執行傳入的sql語句,connectionKey必須在web.config文件中有值 static int ExecuteNonQuery(string cmdText, bool IsUsingDBTransaction, CommandType cmdType, params DbParameter[] commandParameters) 1.IsUsingDBTransaction為是否使用數據庫事務。

 

2.如果cmdType為文本,那麼cmdText為sql語句;如果cmdType為存儲過程,那麼cmdText為存儲過程名稱

3.如果不需要最後一個參數,則傳遞null即可

static int ExecuteNonQuery(string cmdText, string connectionKey, bool IsUsingDBTransaction, CommandType cmdType, params DbParameter[] commandParameters) 使用指定連接字符串connectionKey,其他說明見方法3 static int ExecuteNonQuery(string cmdText, DbConnection connection, bool IsUsingDBTransaction, CommandType cmdType, params DbParameter[] commandParameters) 使用指定DbConnection執行,其他說明見方法3 static int ExecuteScalar(string cmdText) 執行傳入的sql語句 static object ExecuteScalar(string cmdText, CommandType cmdType, params DbParameter[] commandParameters) 其他說明見方法3 static object ExecuteScalar(string cmdText, string connectionKey, CommandType cmdType, params DbParameter[] commandParameters) 使用指定DbConnection執行 static object ExecuteScalar(string cmdText, DbConnection connection, CommandType cmdType, params DbParameter[] commandParameters) 使用指定DbConnection執行 static object ExecuteReader(string cmdText) 執行sql語句,返回DbDataReader。注意,調用此方法後,須調用Dispose()釋放資源 DbDataReader ExecuteReader(string cmdText, CommandType cmdType, params DbParameter[] commandParameters) 其他說明見方法3 DbDataReader ExecuteReader(string cmdText, string connectionKey) 見方法2 DbDataReader ExecuteReader(string cmdText, CommandType cmdType, string connectionKey, params DbParameter[] commandParameters) 其他說明見方法3 DbDataReader ExecuteReader(string cmdText, CommandType cmdType, DbConnection connection, params DbParameter[] commandParameters) 見方法4 DbDataReader ExecuteDataAdapter(string cmdText) 執行sql語句 DbDataAdapter ExecuteDataAdapter(string cmdText, string connectionKey) 見方法2 DbDataAdapter ExecuteDataAdapter(string cmdText, CommandType cmdType, params DbParameter[] commandParameters) 其他說明見方法3 DbDataAdapter ExecuteDataAdapter(string cmdText, CommandType cmdType, string connectionKey, params DbParameter[] commandParameters) 見方法4 DbDataAdapter ExecuteDataAdapter(string cmdText, CommandType cmdType, DbConnection connection, params DbParameter[] commandParameters) 見方法4 DbDataAdapter ExecuteDataSet(string cmdText) 執行sql語句 DataSet ExecuteDataSet(string cmdText, string connectionKey, int some) 使用指定連接字符串connectionKey,其他說明見方法3 DataSet ExecuteDataSet(string cmdText, CommandType cmdType, string srcTable, string connectionKey, params DbParameter[] commandParameters) srcTable為填充表的名子,其他說明見方法3 DataSet ExecuteDataSet(string cmdText, CommandType cmdType, string srcTable, params DbParameter[] commandParameters) 其他說明見方法3 DataSet ExecuteDataSet(string cmdText, string srcTable) 其他說明見方法3 DataSet ExecuteDataSet(string cmdText, string srcTable, string connectionKey) 其他說明見方法3 DataSet Dispose() 釋放實例中所有成員,包括各種Reader、Adapter、Connection等 void

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved