強大的資料庫訪問類dbhelper 2 0 轉

2022-01-11 12:37:42 字數 3029 閱讀 6151

優點:

1、多資料庫支援

2、多資料庫型別支援

3、強大的查詢公用方法,如支援返回泛型實體物件集合,泛型值型別集合,實體物件,資料集等。

4、所有方法都支援引數化與非引數化訪問db,呼叫十分方便。

5、使用了執行緒本地儲存,使之能支援在業務邏輯層顯式控制事務。

6、注釋較為詳細,配置十分簡單,方法較為簡潔(加上注釋總共200多行**)。

7、開源,容易修改。

源**:dbmanager

public class dbmanager

return helper;

}}

dbhelper:

public class dbhelper

set

}private dbtransaction _transaction;

public dbtransaction transaction

set

}public dbhelper(string connectionstring, string dbprovidername)

/// /// 開啟資料庫連線

///

public void openconnection()

if (connection.state != connectionstate.open)

connection.open();

}/// /// 開啟事務

///

public void begintransaction()

/// /// 提交事務 並且 釋放並關閉資源

///

public void committransaction()

}/// /// 回滾事務 並且 釋放並關閉資源

///

public void rollbacktransaction()

}/// /// 如果沒有開啟事務就自動釋放資源,關閉連線,否則在提交或回滾事務的時候釋放

///

public void dispose()}}

private dbcommand createcommand(commandtype cmdtype, string cmdtext, params dbparameter cmdparas)

/// /// 返回乙個資料集

///

///

///

///

///

public dataset executedataset(commandtype cmdtype, string cmdtext, params dbparameter cmdparas)

catch (exception ex)

finally

}/// /// 返回受影響的行數

///

///

///

///

///

public int executenonquery(commandtype cmdtype, string cmdtext, params dbparameter cmdparas)

catch (exception ex)

finally

}/// /// 返回結果集中第一行第一列

///

///

///

///

///

public object executescalar(commandtype cmdtype, string cmdtext, params dbparameter cmdparas)

catch (exception ex)

finally

}/// /// 返回泛型集合

///

///

///

///

///

///

public ilistexecutereaderlist(commandtype cmdtype, string cmdtext, params dbparameter cmdparas)

catch (exception ex)

finally

}/// /// 返回乙個物件 如資料庫無結果返回將丟擲異常

///

///

///

///

///

///

public t executereaderobject(commandtype cmdtype, string cmdtext, params dbparameter cmdparas)

/// /// 反射建立泛型集合

///

///

///

///

private ilisttolist(dbdatareader reader)

private ilistcreateobject(dbdatareader reader, type type)

}list.add(local);

}return list;

}private ilistcreatevalue(dbdatareader reader, type type)

return list;

}}

呼叫示例:

/// /// 事務示例

///

public void testexecutenonquerybegintran()

catch

}/// /// 查詢實體物件集合示例

///

public void testexecutereaderlist()

/// /// 查詢值型別集合示例

///

public void testexecutereaderlistbyint()

}

C 訪問資料庫的類

using system using system.collections.generic using system.text using system.data using system.data.sql using system.data.sqlclient using system.data....

C SQL資料庫的訪問類

sql資料庫的訪問類 public class sqlhelper 執行非查詢 資料庫連線 命令的型別 命令的文字 命令的引數 返回影響的結果集行數 public static int executenonquery sqlconnection connection,commandtype cmdt...

SqlHelper 資料庫訪問類

sqlhelper其實是我們自己編寫的乙個類,使用這個類目的就是讓使用者更方便 更安全的對資料庫的操作,既 是除了在sqlhelper類以外的所有類將不用引用對資料庫操作的任何類與語句,無須擔心資料庫的連線與關閉的問題。sqlhelper的編寫 namespace dal 狀態 sqlconnect...