Table of Contents

Class OracleSQL

Namespace
ZapLib
Assembly
ZapLib.dll

Oracle 連線查詢輔助工具,使用方式比照 SQL。 內部使用 Oracle.ManagedDataAccess,純託管、無須安裝 Oracle Client。

public class OracleSQL
Inheritance
OracleSQL
Inherited Members

Constructors

OracleSQL(string)

初始化 OracleSQL 連線物件,嘗試從 .config 中抓取指定名稱的連線字串或直接給予連線字串進行連線

public OracleSQL(string connectionString)

Parameters

connectionString string

指定的連線字串名稱 或 連線字串

Properties

Cmd

目前使用的資料庫命令物件

public OracleCommand Cmd { get; }

Property Value

OracleCommand

IsConn

是否已經與資料庫連線成功

public bool IsConn { get; }

Property Value

bool

Timeout

資料庫連線逾時秒數,預設 30 秒

public int Timeout { get; set; }

Property Value

int

TraceCode

追蹤碼,同一個追蹤碼代表同一個 OracleSQL 物件

public string TraceCode { get; }

Property Value

string

Tran

目前使用的資料庫交易物件(此版本預留,未啟用)

public OracleTransaction Tran { get; }

Property Value

OracleTransaction

Methods

Close()

手動關閉資料庫連線

public void Close()

Connect()

手動連線資料庫,可以使用 IsConn 來確認是否連線成功

public void Connect()

Connet()

手動連線資料庫,可以使用 IsConn 來確認是否連線成功

[Obsolete("方法已重新命名為 Connect,原拼字錯誤的版本將於下一個 major 版本移除")]
public void Connet()

GetConnection()

取得主要的資料庫連線物件

public OracleConnection GetConnection()

Returns

OracleConnection

GetErrorMessage()

取得所有資料庫的錯誤訊息

public string GetErrorMessage()

Returns

string

Query(string, object)

手動執行查詢命令,需自行控制可能發生的錯誤

public OracleDataReader Query(string sql, object param = null)

Parameters

sql string

查詢語法(參數可使用 @name 寫法,將自動轉為 Oracle 的 :name)

param object

語法中的參數化資料

Returns

OracleDataReader

OracleDataReader 物件

QuickDynamicQuery(string, object, bool)

自動開啟連線並執行查詢語法,執行完畢後自動關閉連線

public dynamic[] QuickDynamicQuery(string sql, object param = null, bool isfetchall = true)

Parameters

sql string

查詢語法

param object

語法中的參數化資料

isfetchall bool

是否取出所有資料,預設為 true,否則只取出 1 筆

Returns

dynamic[]

綁定查詢語法輸出表格的動態資料陣列

QuickQuery<T>(string, object, bool)

自動開啟連線並執行查詢語法,執行完畢後自動關閉連線

public T[] QuickQuery<T>(string sql, object param = null, bool isfetchall = true)

Parameters

sql string

查詢語法

param object

語法中的參數化資料

isfetchall bool

是否取出所有資料,預設為 true,否則只取出 1 筆

Returns

T[]

綁定查詢語法輸出表格的資料模型陣列

Type Parameters

T

將返回資料綁定到指定類型

dynamicFetch(OracleDataReader, bool)

手動執行取出查詢結果的資料,並綁定到動態資料中

public dynamic[] dynamicFetch(OracleDataReader r, bool fetchAll = true)

Parameters

r OracleDataReader

資料讀取物件

fetchAll bool

是否取出所有資料,預設為 true,否則只取出 1 筆

Returns

dynamic[]

綁定資料的動態資料陣列

fetch<T>(OracleDataReader, bool)

手動執行取出查詢結果的資料,並綁定到指定的資料模型中

public T[] fetch<T>(OracleDataReader r, bool fetchAll = true)

Parameters

r OracleDataReader

資料讀取物件

fetchAll bool

是否取出所有資料,預設為 true,否則只取出 1 筆

Returns

T[]

綁定資料的模型陣列

Type Parameters

T

將資料綁定到指定類型