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

简介:

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; } }

目录
相关文章
|
1月前
|
存储 SQL 关系型数据库
【MySQL 数据库】9、存储过程
【MySQL 数据库】9、存储过程
202 0
|
16天前
|
存储 NoSQL Java
Java数据库编程指南:实现高效数据存储与访问
【4月更文挑战第2天】Java开发者必须掌握数据库编程,尤其是JDBC,它是连接数据库的标准接口。使用Spring JDBC或JPA能简化操作。选择合适的JDBC驱动,如MySQL Connector/J,对性能至关重要。最佳实践包括事务管理、防SQL注入、优化索引和数据库设计。NoSQL数据库如MongoDB也日益重要,Java有对应的驱动支持。理解这些概念和技术是构建高效数据库应用的基础。
Java数据库编程指南:实现高效数据存储与访问
|
2月前
|
存储 数据库
Navicate 如何导出数据库中的存储过程、事件、视图等?
Navicate 如何导出数据库中的存储过程、事件、视图等?
|
3月前
|
SQL 关系型数据库 MySQL
Python 数据库访问与ORM框架——打造高效开发利器
Python 作为一门广泛使用的编程语言,其在数据库访问方面也有着较为成熟的解决方案,其中ORM框架更是成为了开发者们的首选。本文将介绍 Python 中数据库访问和 ORM 框架的基本概念,以及如何使用 SQLAlchemy 这一优秀的 ORM 框架进行开发。
|
3月前
|
SQL 数据管理 数据库
Python数据库访问与ORM框架:探索高效数据管理的奥秘
在当今信息爆炸的时代,高效地管理和处理海量数据成为了企业和开发者的迫切需求。本文将介绍Python中的数据库访问技术以及ORM框架(如SQLAlchemy),探索其在数据管理方面的重要作用。通过使用Python数据库访问和ORM框架,开发者可以更轻松地操作数据库、提高代码可读性和维护性,并实现高效的数据持久化和查询。
|
3月前
|
关系型数据库 API 数据库
Python数据库访问与ORM框架:加速开发、提升效率
在现代软件开发中,数据库是不可或缺的组成部分。本文介绍了Python中数据库访问的重要性,并探讨了ORM框架(例如SQLAlchemy)如何帮助程序员加速开发、提升效率。通过使用ORM框架,开发人员可以轻松地将Python对象映射到数据库表,并且可以通过简洁的API进行数据库操作。此外,本文还讨论了ORM框架在处理复杂查询、维护数据一致性和实现数据库迁移方面的优势。
|
3月前
|
SQL Java 关系型数据库
数据库访问:什么是Hibernate框架?
数据库访问:什么是Hibernate框架?
24 0
|
3月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
34 0
|
2天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
27天前
|
存储 SQL 数据挖掘
视图、触发器和存储过程:提升数据库功能
视图、触发器和存储过程:提升数据库功能
19 1