ASP.NET DataBase
- //数据库操作
- public class DataBase
- {
- private SqlConnection conn;//数据库连接对象
- #region 打开数据库连接
- private void Open()
- {
- if (conn == null)
- {
- conn = new SqlConnection();
- //conn.ConnectionString = ConfigurationSettings.AppSettings["connString"].ToString();
- conn.ConnectionString = ConfigurationManager.ConnectionStrings["connString"].ToString();
- conn.Open();
- }
- else
- {
- if (conn.State == System.Data.ConnectionState.Closed)
- {
- conn.Open();
- }
- }
- }
- #endregion
- #region 关闭数据库连接
- private void Close()
- {
- if (conn != null && conn.State == System.Data.ConnectionState.Open)
- {
- conn.Close();
- }
- }
- #endregion
- #region 释放连接资源
- public void Dispose()
- {
- if (conn != null)
- {
- conn.Dispose();
- conn = null;
- }
- }
- #endregion
- #region 传入参数并转换为SqlParameter类型
- /// <summary>
- /// 转换参数
- /// </summary>
- /// <param name="ParamName">存储过程名称或命令文本</param>
- /// <param name="DbType">参数类型</param></param>
- /// <param name="Size">参数大小</param>
- /// <param name="Value">参数值</param>
- /// <returns>新的 parameter 对象</returns>
- public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, Object Value)
- {
- return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
- }
- /// <summary>
- /// 初始化参数值
- /// </summary>
- /// <param name="ParamName">存储过程名称或命令文本</param>
- /// <param name="DbType">参数类型</param>
- /// <param name="Size">参数大小</param>
- /// <param name="Direction">参数方向</param>
- /// <param name="Value">参数值</param>
- /// <returns>新的 parameter 对象</returns>
- private SqlParameter MakeParam(string ParamName, SqlDbType DbType, int Size, ParameterDirection Direction, object Value)
- {
- SqlParameter param;
- if (Size>)
- {
- param = new SqlParameter(ParamName, DbType, Size);
- }
- else
- {
- param = new SqlParameter(ParamName, DbType);
- }
- param.Direction = Direction;
- if (!(param.Direction == ParameterDirection.Output && Value == null))
- {
- param.Value = Value;
- }
- return param;
- }
- #endregion
- #region 执行参数命令文本(无数据库中数据返回)
- /// <summary>
- /// 执行命令
- /// </summary>
- /// <param name="procName">命令文本</param>
- /// <param name="prams">参数对象</param>
- /// <returns></returns>
- public int RunProc(string procName, SqlParameter[] prams)
- {
- SqlCommand cmd = CreateCommand(procName, prams);
- cmd.ExecuteNonQuery();
- this.Close();
- //得到成功执行的返回值
- return (int)cmd.Parameters["ReturnValue"].Value;
- }
- /// <summary>
- /// 直接执行SQL语句
- /// </summary>
- /// <param name="procName">命令文本</param>
- /// <returns></returns>
- public int RunProc(string procName)
- {
- this.Open();
- SqlCommand cmd = new SqlCommand(procName, conn);
- int num = cmd.ExecuteNonQuery();
- this.Close();
- return num;
- }
- #endregion
- #region 执行参数命令文本(有返回值)
- /// <summary>
- /// 执行查询命令文本,并且返回DataSet数据集
- /// </summary>
- /// <param name="procName">命令文本</param>
- /// <param name="prams">参数对象</param>
- /// <param name="tbName">数据表名称</param>
- /// <returns></returns>
- public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName)
- {
- SqlDataAdapter dap = CreateDataAdapter(procName, prams);
- DataSet ds = new DataSet();
- dap.Fill(ds, tbName);
- this.Close();
- return ds;
- }
- /// <summary>
- /// 执行命令文本,并且返回DataSet数据集
- /// </summary>
- /// <param name="procName">命令文本</param>
- /// <param name="tbName">数据表名称</param>
- /// <returns>DataSet</returns>
- public DataSet RunProcReturn(string procName, string tbName)
- {
- SqlDataAdapter dap = CreateDataAdapter(procName, null);
- DataSet ds = new DataSet();
- dap.Fill(ds, tbName);
- return ds;
- }
- #endregion
- #region 将命令文本添加到SqlDataAdapter
- /// <summary>
- /// 创建一个SqlDataAdapter对象以此来执行命令文本
- /// </summary>
- /// <param name="procName">命令文本</param>
- /// <param name="prams">参数对象</param>
- /// <returns></returns>
- private SqlDataAdapter CreateDataAdapter(string procName, SqlParameter[] prams)
- {
- this.Open();
- SqlDataAdapter dap = new SqlDataAdapter(procName, conn);
- dap.SelectCommand.CommandType = CommandType.Text;// 执行类型:命令文本
- if (prams != null)
- {
- foreach (SqlParameter param in prams)
- {
- dap.SelectCommand.Parameters.Add(param);// 为查询语句插入参数
- }
- }
- //加入返回值
- dap.SelectCommand.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, ,
- ParameterDirection.ReturnValue, false, , ,
- String.Empty, DataRowVersion.Default, null));
- return dap;
- }
- #endregion
- #region 将命令文本添加到SqlCommand
- /// <summary>
- /// 创建一个SqlCommand对象以此来执行命令文本
- /// </summary>
- /// <param name="procName">命令文本</param>
- /// <param name="prams"命令文本所需参数</param>
- /// <returns>返回SqlCommand对象</returns>
- private SqlCommand CreateCommand(string procName, SqlParameter[] prams)
- {
- this.Open();
- SqlCommand cmd = new SqlCommand(procName, conn);
- cmd.CommandType = CommandType.Text;// 执行类型:命令文本
- //一次把参数传入命令文本
- if (prams != null)
- {
- foreach (SqlParameter param in prams)
- {
- cmd.Parameters.Add(param);
- }
- }
- //加入返回参数
- cmd.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, ,
- ParameterDirection.ReturnValue, false, , ,
- string.Empty, DataRowVersion.Default, null));
- return cmd;
- }
- #endregion
- }
ASP.NET DataBase的更多相关文章
- asp: AJAX Database
<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %> <!DOCTYPE html PUBLIC " ...
- ASP与ASP.NET转换Session数据桥的应用
背景: 现有公司的产品OA是采用ASP早先的技术开发,需要与目前最新的ASP.NET产品进行数据交互的应用.现有的ASP应用程序往往采用“ASP Sessions”,这是一种经典的ASP内置模式,即允 ...
- 注入问题0x00
1.sqlmap遇到MySQL注入可以成功getshell,但是,遇到sqlserver注入未成功getshell. 2.xp_cmdshell 如何 getshell(1433未对外开放). 解决方 ...
- SQL2005之SA提权总结
首先,看看xp_cmdshell存在不,不存在的话先恢复下. Exec sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_confi ...
- Server.MapPath()获取本机绝对路径
1. Server.MapPath("/") 应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\ 2.Server.MapPath("./&qu ...
- OpenStack(0) - Table of Contents
1. Keystone OpenStack Identity Service2. Starting OpenStack Image Service3. Starting OpenStack Compu ...
- Caching Tutorial
for Web Authors and Webmasters This is an informational document. Although technical in nature, it a ...
- 这是一篇SQL注入文章
目录 注入原理: 1.寻找注入点的方式或注入的地方可能包括. 2.注入点判断方法. 3.注入分类. 数字型: 字符型: 搜索型: XX型(也叫其他型): 4.注入提交方式. 5.注入攻击类型与方式. ...
- ASP.NET Core (Database First)
CREATE DATABASE [EFCore_dbfirst] GO USE [EFCore_dbfirst] GO CREATE TABLE [Blog] ( [BlogId] int NOT N ...
随机推荐
- Ubuntu 查看本机的ip
打开终端中执行:ifconfig -a命令即可,如下图所示白色背景信息即是. 说明: enp0s3 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址 ...
- 为 Tomcat 安装 apr
apr 官方介绍: Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术. APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTT ...
- [Mongo] 解决mongoose不支持条件操作符 $gt$gte:$lte$ne $in $all $not
reference : http://blog.sina.com.cn/s/blog_4df23d840100u25x.html 找到mongoose的安装目录 /usr/local/lib/node ...
- 【BZOJ】【1415】【NOI2005】聪聪和可可
数学期望+记忆化搜索 论文:<浅析竞赛中一类数学期望问题的解决方法>——汤可因 中的第一题…… Orz 黄学长 我实在是太弱,这么简单都yy不出来…… 宽搜预处理有点spfa的感觉= = ...
- Informatica 常用组件Lookup之五 转换属性
查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数 ...
- Informatica 常用组件Lookup之二 已连接和未连接的查找
可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :L ...
- 附1 rabbitmq常用命令
1.rabbitmq的启动和停止 rabbitmq-server (前台启动) rabbitmq-server -detached(后台启动) rabbitmqctl stop(停止) 2.查看rab ...
- android.net.Uri 简介 API
android.net.Uri 简介 public abstract class android.net.Uri extends Object implements Parcelable, Compa ...
- layer和3D仿射变换
1.视图的显示基于图层,通过控制图层同样能控制显示效果,获取当前的视图的layer,并为其增加圆角边框. //设置layer边框的宽度为2 view.layer.borderWidth=; //如果需 ...
- POJ 1265:Area
Area Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4725 Accepted: 2135 Description ...