SqlHelper 数据库操作类2
生活随笔
收集整理的這篇文章主要介紹了
SqlHelper 数据库操作类2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
using?System;using?System.Data;
using?System.Data.SqlClient;
namespace?lsb.DBUtility
{
????///?<summary>
????///?SQL?Server?數據庫操作類
????///?</summary>
????public?class?SqlHelper
????{
????????private?static?string?connectionString?=?"Data?Source=.;Initial?Catalog=FBMS;Integrated?Security=True";
????????///?<summary>
????????///?執行查詢,?返回單個值
????????///?</summary>
????????public?static?object?ExecuteScalar(string?sql)
????????{
????????????using?(SqlConnection?conn?=?new?SqlConnection(connectionString))
????????????{
????????????????using?(SqlCommand?cmd?=?new?SqlCommand(sql,?conn))
????????????????{
????????????????????try
????????????????????{
????????????????????????conn.Open();
????????????????????????return?cmd.ExecuteScalar();
????????????????????}
????????????????????catch
????????????????????{
????????????????????????throw;
????????????????????}
????????????????}
????????????}
????????}
????????///?<summary>
????????///?執行帶參數查詢,?返回單個值
????????///?</summary>
????????public?static?object?ExecuteScalar(string?sql,?SqlParameter[]?cmdParms)
????????{
????????????using?(SqlConnection?conn?=?new?SqlConnection(connectionString))
????????????{
????????????????using?(SqlCommand?cmd?=?new?SqlCommand())
????????????????{
????????????????????try
????????????????????{
????????????????????????PrepareCommand(cmd,?conn,?null,?sql,?cmdParms);
????????????????????????object?obj?=?cmd.ExecuteScalar();
????????????????????????cmd.Parameters.Clear();
????????????????????????return?obj;
????????????????????}
????????????????????catch
????????????????????{
????????????????????????throw;
????????????????????}
????????????????}
????????????}
????????}
????????///?<summary>
????????///?執行查詢,?返回多個值
????????///?</summary>
????????public?static?SqlDataReader?ExecuteReader(string?sql)
????????{
????????????using?(SqlConnection?conn?=?new?SqlConnection(connectionString))
????????????{
????????????????using?(SqlCommand?cmd?=?new?SqlCommand(sql,?conn))
????????????????{
????????????????????try
????????????????????{
????????????????????????conn.Open();
????????????????????????return?cmd.ExecuteReader();
????????????????????}
????????????????????catch
????????????????????{
????????????????????????throw;
????????????????????}
????????????????}
????????????}
????????}
????????///?<summary>
????????///?執行帶參數查詢,?返回多個值
????????///?</summary>
????????public?static?SqlDataReader?ExecuteReader(string?sql,?SqlParameter[]?cmdParms)
????????{
????????????using?(SqlConnection?conn?=?new?SqlConnection(connectionString))
????????????{
????????????????using?(SqlCommand?cmd?=?new?SqlCommand())
????????????????{
????????????????????try
????????????????????{
????????????????????????PrepareCommand(cmd,?conn,?null,?sql,?cmdParms);
????????????????????????SqlDataReader?sdr?=?cmd.ExecuteReader();
????????????????????????cmd.Parameters.Clear();
????????????????????????return?sdr;
????????????????????}
????????????????????catch
????????????????????{
????????????????????????throw;
????????????????????}
????????????????}
????????????}
????????}
????????///?<summary>
????????///?執行非查詢,?返回影響行數
????????///?</summary>
????????public?static?int?ExceuteNonQuery(string?sql,?params?SqlParameter[]?cmdParms)
????????{
????????????using?(SqlConnection?conn?=?new?SqlConnection(connectionString))
????????????{
????????????????using?(SqlCommand?cmd?=?new?SqlCommand())
????????????????{
????????????????????try
????????????????????{
????????????????????????PrepareCommand(cmd,?conn,?null,?sql,?cmdParms);
????????????????????????int?rows?=?cmd.ExecuteNonQuery();
????????????????????????cmd.Parameters.Clear();
????????????????????????return?rows;
????????????????????}
????????????????????catch
????????????????????{
????????????????????????throw;
????????????????????}
????????????????}
????????????}
????????}
????????///?<summary>
????????///?
????????///?</summary>
????????///?<param?name="cmd"></param>
????????///?<param?name="conn"></param>
????????///?<param?name="trans"></param>
????????///?<param?name="cmdText"></param>
????????///?<param?name="cmdParms"></param>
????????private?static?void?PrepareCommand(SqlCommand?cmd,?SqlConnection?conn,?SqlTransaction?trans,?string?cmdText,?SqlParameter[]?cmdParms)
????????{
????????????if?((conn.State?==?ConnectionState.Broken)?||?(conn.State?==?ConnectionState.Closed))
????????????{
????????????????conn.Open();
????????????}
????????????cmd.Connection?=?conn;
????????????cmd.CommandText?=?cmdText;
????????????if?(trans?!=?null)
????????????????cmd.Transaction?=?trans;
????????????cmd.CommandType?=?CommandType.Text;
????????????if?(cmdParms?!=?null)
????????????{
????????????????foreach?(SqlParameter?parm?in?cmdParms)
????????????????{
????????????????????if?((parm.Direction?==?ParameterDirection.InputOutput?||?parm.Direction?==?ParameterDirection.Input)?&&?(parm.Value?==?null))
????????????????????{
????????????????????????parm.Value?=?DBNull.Value;
????????????????????}
????????????????????cmd.Parameters.Add(parm);
????????????????}
????????????}
????????}
????}
}
?
轉載于:https://www.cnblogs.com/LinFx/archive/2009/03/02/2123693.html
總結
以上是生活随笔為你收集整理的SqlHelper 数据库操作类2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [C++对象模型][9]虚继承与虚函数表
- 下一篇: 权证的几个时间点