数据库访问类(使用存储过程的)

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public class DataBase
{
//使用单件模式,只能实例化一个对象,所有方法都是静态方法;
private static DataBase _instance;
public DataBase()
{
}
public static DataBase GetInstance()
{
if(_instance==null)
{
_instance = new DataBase();
}
return _instance;
}
//得到并返回一个打开的数据库链接。
public static SqlConnection ReturnConn()
{
string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection Conn = new SqlConnection(strConn);
if (Conn.State.Equals(ConnectionState.Closed))
{
Conn.Open();
}
return Conn;
}
//①将存储过程转换成SqlCommand;(存储过程名,字段集合,数据库连接)
public static SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlConnection Conn)
{
SqlConnection SqlConn = Conn;
if (SqlConn.State.Equals(ConnectionState.Closed))
{
SqlConn.Open();
}
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = SqlConn;
Cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
//②将存储过程转换成SqlCommand;(存储过程名,字段集合)
public static SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = Conn;
Cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
//③将存储过程转换成SqlCommand;(存储过程名,数据库连接)
public static SqlCommand CreateCmd(string procName,SqlConnection Conn)
{
SqlConnection SqlConn = Conn;
if (SqlConn.State.Equals(ConnectionState.Closed))
{
SqlConn.Open();
}
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = SqlConn;
Cmd.CommandText = procName;
return Cmd;
}
//④将存储过程转换成SqlCommand;(存储过程名)
public static SqlCommand CreateCmd(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = Conn;
Cmd.CommandText = procName;
return Cmd;
}
//①执行存储过程并返回一个SqlDataReader对象,(存储过程名,字段集合)
public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams)
{
SqlCommand Cmd = CreateCmd(procName, prams);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
//②执行存储过程并返回一个SqlDataReader对象,(存储过程名,字段集合,数据库连接)
public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams, SqlConnection Conn)
{
SqlCommand Cmd = CreateCmd(procName, prams,Conn);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
//③执行存储过程并返回一个SqlDataReader对象,(存储过程名,数据库连接)
public static SqlDataReader RunProcGetReader(string procName, SqlConnection Conn)
{
SqlCommand Cmd = CreateCmd(procName,Conn);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
//④执行存储过程并返回一个SqlDataReader对象,(存储过程名)
public static SqlDataReader RunProcGetReader(string procName)
{
SqlCommand Cmd = CreateCmd(procName);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
//执行存储过程并返回一个DataTable对象,(存储过程名,字段集合,数据库连接)
public static DataTable RunProcGetTable(string procName, SqlParameter[] prams, SqlConnection Conn)
{
SqlCommand Cmd = CreateCmd(procName, prams, Conn);
SqlDataAdapter Dtr = new SqlDataAdapter();
DataSet Ds = new DataSet();
Dtr.SelectCommand = Cmd;
Dtr.Fill(Ds);
DataTable Dt = Ds.Tables[0];
Conn.Close();
return Dt;
}
//①直接执行存储过程,返回整形数据。(存储过程名)
public static int RunExecute(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName,Conn);
int intResult = Cmd.ExecuteNonQuery();
Conn.Close();
return intResult;
}
//②直接执行存储过程,返回整形数据。(存储过程名,字段集合)
public static int RunExecute(string procName,SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName,prams,Conn);
int intResult = Cmd.ExecuteNonQuery();
Conn.Close();
return intResult;
}
public static int RunExecuteScalar(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName, Conn);
int intResult = Convert.ToInt32(Cmd.ExecuteScalar());
Conn.Close();
return intResult;
}
public static int RunExecuteScalar(string procName, SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName, prams, Conn);
int intResult =Convert.ToInt32(Cmd.ExecuteScalar());
Conn.Close();
return intResult;
}
}

时间: 2024-09-28 09:25:24

数据库访问类(使用存储过程的)的相关文章

使用设计模式构建通用数据库访问类

访问|设计|数据|数据库 使用设计模式构建通用数据库访问类 在应用程序的设计中,数据库的访问是非常重要的,我们通常需要将对数据库的访问集中起来,以保证良好的封装性和可维护性.在.Net中,数据库的访问,对于微软自家的SqlServer和其他数据库(支持OleDb),采用不同的访问方法,这些类分别分布于System.Data.SqlClient和System.Data.OleDb名称空间中.微软后来又推出了专门用于访问Oracle数据库的类库.我们希望在编写应用系统的时候,不因这么多类的不同而受到

新近写了个通用的数据库访问类(c#)

访问|数据|数据库 新近写了个通用的数据库访问类(c#);支持oledb\sql\oracle\odbc数据连接,提供sysbase,db2 的接口支持,如果有什么错误.意见.建议.请联系我yu_nan88@126.com http://mail.gongyi.gov.cn/netdisk/download.php?user=zhaobin@gongyi.gov.cn&id=2712a90f0de399014bfbea6e697381a3&filename=L7mk1/cvTXlQRE8u

Mysql 数据库访问类_Mysql

/** * @Purpose: Mysql数据库访问类 * @Package: * @Author: lisen@sellingclub.cn * @Modifications: * @See: * @Time: 2008.10.10 */ class DB_MYSQL { //============================================================ private $Host = 'localhost'; private $Database =

ASP.NET对SQLServer的通用数据库访问类_实用技巧

本文模仿实现数据库访问的通用类,代码清晰,而且很实用,包括了对数据库的所有的常用的操作. /// <summary> /// 数据库访问通用类 /// </summary> public class SqlHelper { private string connectionString; /// <summary> /// 设定数据库访问字符串 /// </summary> public string ConnectionString { set { con

为ASP.NET封装的SQL数据库访问类

asp.net|访问|封装|数据|数据库 using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Collections; namespace MyCorporation.DepartMent.DataBase { /// <summary> /// 通用数据库类 /// </summary> public class DataBas

一个通用数据库访问类(C#,SqlClient)

client|访问|数据|数据库 使用ADO.NET时,每次数据库操作都要设置connection属性.建立connection.使用command.事务处理等,比较繁琐,有很多重复工作.能不能把这些繁琐的.常用的操作再封装一下,以更方便.安全地使用.下面这个类就是一种尝试: using System;using System.Data.SqlClient;using System.Text;using System.Data;using System.Collections;using Sys

数据库访问类的编写

数据库连接类的使用: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; usi

ASP.NET封装的SQL数据库访问类_实用技巧

using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Collections; namespace MyCorporation.DepartMent.DataBase { /// <summary> /// 通用数据库类 /// </summary> public class DataBase { private string Co

数据库访问类(直接执行数据库操作)

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; //引入数据库的命名空间 u