.net数据库操作类2
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using OSLeagueForumXP.Components;
namespace OSLeagueForumXP.Common
{
/// <summary>
/// 数据库操作通用类
/// </summary>
public class DataBase : IDisposable
{
/// <summary>
/// 数据库连接源
/// </summary>
private SqlConnection SqlConn;
/// <summary>
/// 运行SQL Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <returns>储存过程返回的值</returns>
public int RunProcedure(string ProcedureName)
{
SqlCommand Sqlcmd = CreateCommand(ProcedureName, null);
Sqlcmd.ExecuteNonQuery();
this.Close();
return (int)Sqlcmd.Parameters["ReturnValue"].Value;
}
/// <summary>
/// 运行SQL Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="SqlPrams">储存过程参数</param>
/// <returns>储存过程返回值</returns>
public int RunProcedure(string ProcedureName, SqlParameter[] SqlPrams)
{
SqlCommand Sqlcmd = CreateCommand(ProcedureName, SqlPrams);
Sqlcmd.ExecuteNonQuery();
this.Close();
return (int)Sqlcmd.Parameters["ReturnValue"].Value;
}
/// <summary>
/// 运行SQL Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="SqlReader">以SqlDataReader返回储存过程结果</param>
public void RunProcedure(string ProcedureName, out SqlDataReader SqlReader)
{
SqlCommand Sqlcmd = CreateCommand(ProcedureName, null);
SqlReader = Sqlcmd.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 运行SQL Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="SqlPrams">储存过程参数</param>
/// <param name="SqlReader">以SqlDataReader返回储存过程结果</param>
public void RunProcedure(string ProcedureName, SqlParameter[] SqlPrams, out SqlDataReader SqlReader)
{
SqlCommand Sqlcmd = CreateCommand(ProcedureName, SqlPrams);
SqlReader = Sqlcmd.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 运行Sql Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="Table">数据表</param>
/// <returns>DataSet对象</returns>
public DataSet RunProcedure(string ProcedureName, string Table)
{
DataSet SqlDS = new DataSet();
SqlDataAdapter SqlDA = CreateDataAdapter(ProcedureName,null);
SqlDA.Fill(SqlDS,Table);
return(SqlDS);
}
/// <summary>
/// 运行SQL Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="SqlPrams">Sql参数</param>
/// <param name="Table">数据表</param>
/// <returns>DataSet对象</returns>
public DataSet RunProcedure(string ProcedureName, SqlParameter[] SqlPrams,string Table)
{
DataSet SqlDS = new DataSet();
SqlDataAdapter SqlDA = CreateDataAdapter(ProcedureName,SqlPrams);
SqlDA.Fill(SqlDS,Table);
return(SqlDS);
}
/// <summary>
/// 运行Sql Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="Table">数据表</param>
/// <param name="StartRecord">开始记录</param>
/// <param name="MaxRecord">最大记录数</param>
/// <returns>DataSet对象</returns>
public DataSet RunProcedure(string ProcedureName, string Table,int StartRecord,int MaxRecord)
{
DataSet SqlDS = new DataSet();
SqlDataAdapter SqlDA = CreateDataAdapter(ProcedureName,null);
SqlDA.Fill(SqlDS,StartRecord,MaxRecord,Table);
return(SqlDS);
}
/// <summary>
/// 运行SQL Server储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="SqlPrams">Sql参数</param>
/// <param name="Table">数据表</param>
/// <param name="StartRecord">开始记录</param>
/// <param name="MaxRecord">最大记录数</param>
/// <returns>DataSet对象</returns>
public DataSet RunProcedure(string ProcedureName, SqlParameter[] SqlPrams,string Table,int StartRecord,int MaxRecord)
{
DataSet SqlDS = new DataSet();
SqlDataAdapter SqlDA = CreateDataAdapter(ProcedureName,SqlPrams);
SqlDA.Fill(SqlDS,StartRecord,MaxRecord,Table);
return(SqlDS);
}
/// <summary>
/// 创建SqlDataAdapter对象
/// </summary>
/// <param name="ProcedureName">储存过程</param>
/// <param name="SqlPrams">Sql参数</param>
/// <param name="Type">类型</param>
/// <returns>SqlDataAdapter对象</returns>
private SqlDataAdapter CreateDataAdapter(string ProcedureName, SqlParameter[] SqlPrams)
{
//打开数据库连接
Open();
SqlDataAdapter SqlDA = new SqlDataAdapter(ProcedureName, SqlConn);
SqlDA.SelectCommand.CommandType = CommandType.StoredProcedure;
// 添加储存过程参数
if (SqlPrams != null)
{
foreach (SqlParameter Sqlparameter in SqlPrams)
{
SqlDA.SelectCommand.Parameters.Add(Sqlparameter);
}
}
// 返回参数
SqlDA.SelectCommand.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return SqlDA;
}
/// <summary>
/// 创建一个SqlCommand对象来调用储存过程
/// </summary>
/// <param name="ProcedureName">储存过程名称</param>
/// <param name="SqlPrams">储存过程参数</param>
/// <returns>SqlCommand对象</returns>
private SqlCommand CreateCommand(string ProcedureName, SqlParameter[] SqlPrams)
{
//打开数据库连接
Open();
SqlCommand Sqlcmd = new SqlCommand(ProcedureName, SqlConn);
Sqlcmd.CommandType = CommandType.StoredProcedure;
// 添加储存过程参数
if (SqlPrams != null)
{
foreach (SqlParameter Sqlparameter in SqlPrams)
{
Sqlcmd.Parameters.Add(Sqlparameter);
}
}
// 返回参数
Sqlcmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return Sqlcmd;
}
/// <summary>
/// 打开数据库连接
/// </summary>
public void Open()
{
INI clsini = new INI();
string strGetKey = clsini.Read("Common","SqlConn","",HttpContext.Current.Server.MapPath("../config.aspx"));
// 如果没有打开数据库,则打开数据库连接
SqlConn = new SqlConnection(strGetKey);
SqlConn.Open();
}
/// <summary>
/// 关闭数据库连接
/// </summary>
public void Close()
{
if (SqlConn != null)
SqlConn.Close();
}
/// <summary>
/// 释放资源
/// </summary>
public void Dispose()
{
// 确定以关闭数据库连接
if (SqlConn != null)
{
SqlConn.Dispose();
SqlConn = null;
}
}
/// <summary>
/// 创建输入参数
/// </summary>
/// <param name="ParameterName">参数名称</param>
/// <param name="DbType">参数类型</param>
/// <param name="Size">参数大小</param>
/// <param name="Value">参数值</param>
/// <returns>新的参数</returns>
public SqlParameter MakeInputParameter(string ParameterName, SqlDbType DbType, int Size, object Value)
{
return MakeParameter(ParameterName, DbType, Size, ParameterDirection.Input, Value);
}
/// <summary>
/// 创建输出参数
/// </summary>
/// <param name="ParameterName">参数名称</param>
/// <param name="DbType">参数类型</param>
/// <param name="Size">参数大小</param>
/// <returns>新的参数</returns>
public SqlParameter MakeOutParameter(string ParameterName, SqlDbType DbType, int Size)
{
return MakeParameter(ParameterName, DbType, Size, ParameterDirection.Output, null);
}
/// <summary>
/// 创建储存过程参数
/// </summary>
/// <param name="ParameterName">参数名称</param>
/// <param name="DbType">参数类型</param>
/// <param name="Size">参数大小</param>
/// <param name="Direction">参数方法</param>
/// <param name="Value">参数值</param>
/// <returns>新的参数</returns>
public SqlParameter MakeParameter(string ParameterName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter SqlParam;
if(Size > 0)
{
SqlParam = new SqlParameter(ParameterName, DbType, Size);
}
else
{
SqlParam = new SqlParameter(ParameterName, DbType);
}
SqlParam.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
{
SqlParam.Value = Value;
}
return SqlParam;
}
}
}
.net数据库操作类2相关推荐
- 小博老师解析Java核心技术 ——JDBC数据库操作类封装
2019独角兽企业重金招聘Python工程师标准>>> [引言] 我们在学习Java编程时,连接数据库技术(JDBC)是一项必备技能,我们经常需要读取或操作持久性存储的结构化数据.那 ...
- php建立数据库操作类,PHP数据库操作类的定义及使用
PHP数据库操作类的定义及使用 点击数:8894 发布时间2017-08-01 22:33:39 class myconn{ private $host; private $user; privat ...
- php封装数据库操作类,php简单数据库操作类的封装
本文实例为大家分享了php封装一个简单的数据库操作类,供大家参考,具体内容如下 一.代码 class conndb{ private $local; private $username; privat ...
- 我积累的数据库操作类(ASP.NET)
http://guanvee.cnblogs.com/archive/2006/06/16/427510.html http://guanvee.cnblogs.com/archive/2006/06 ...
- SqlHelper 数据库操作类2
using System; using System.Data; using System.Data.SqlClient; namespace lsb.DBUtility { /// < ...
- php操作mysql的封装类_PHP封装的mysqli数据库操作类示例
本文实例讲述了PHP封装的mysqli数据库操作类.分享给大家供大家参考,具体如下: 由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvement),这里 ...
- PHP操作mongodb数据库操作类
最近的项目开发中使用的数据库是mongodb数据库,因为小编的公司也是刚刚使用mongodb数据库,所以之前没有封装好的mongodb数据库操作类拿来使用,所以小编在项目中自己封装了一个mongodb ...
- SqlHelper 数据库操作类
sqlHelper.cs Code using System.Data; using System.Data.SqlClient; namespace lsb.DBUtility { /// ...
- php mysql 数据库操作类_php mysql数据库操作类
分享一个本人一直在使用的一个mysql数据库操作类,比较初级,自己给别人做web网站的时候一直用的这个类,这个也是之前刚开始学习php的时候在网上找到的一个mysql数据库操作类,后来自己改了一些,比 ...
- 基于javascript的asp数据库操作类,含分页、字符串截取、用户登陆验证[原创]
2005.01.15发表于blog.csdn.net/zxub 无聊又用了用asp,发现还是不爽,已经习惯了面向对象了,就想改进了,vbscript不用,感觉看起来很不爽,就用javascript写了 ...
最新文章
- 惊艳亮相!马斯克发布自研超算 Dojo 芯片、特斯拉人形机器人
- [YTU]_2008( 简单编码)
- python正则表达regex_Python 正则表达式(RegEx)
- oracle备份磁盘头,oracle asm 磁盘头数据以及备份与恢复基础篇(2)
- XStream – XStreamely使用Java中的XML数据的简便方法
- DIV+CSS 入门
- 一文读懂 Serverless,将配置化思想复用到平台系统中
- 2021二维数组中的元素查重(C++,stl--set)
- CCN(content centric networking)介绍
- linux中php集成软件,最新XAMPP Linux版5.6.3 官方版_免费开源php集成环境下载地址电脑版-锐品软件...
- linux中rlwrap安装
- 使用vue-cli来搭建vue项目
- 递归法 最大公倍数 斐波那契数列 数组插入排序改递归
- (一)MySQL 基础配置
- 9. 大型网站架构模式
- 新概念英语(1-29)Come in, Amy.
- 我手机计算机屏幕是黑色的,教你处理手机或者电脑黑屏的简单方法
- matlab中实心圆点,matlab曲线圆圈实心
- 南阳oj 144 小柯的苦恼
- 【读书分享】吴军:《信息传》
热门文章
- python如何做散点图-Python-如何为散点图制作动画?
- python3.6.5安装-Ubuntu16.04安装python3.6.5详细步骤
- python脚本实例手机端-python调用adb脚本来实现群控安卓手机初探
- python3项目-把项目从Python2.x移植到Python3.x的经验总结
- 函数式编程语言python-函数式编程
- 学习python需要什么基础-学习python需要什么基础吗?老男孩Python
- python使用字典格式化字符串-Python中将(字典,列表等)变量格式化输出
- python基础代码库-python基础--注册和登录功能 代码
- 零基础自学python看什么书-零基础想要学习Python编程 ,不知道看哪本书?
- pip安装库包遇到错误:TypeError: expected str, bytes or os.PathLike object, not int 的解决方法