连接SQL数据的DAL

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Configuration;using System.Data.SqlClient;using System.Data;

namespace DAL{public class SqlHelper    {//连接字符       public static string sqlconnstring = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;

#region 一个已经连接等待使用的对象/// <summary>/// 创建一个连接好并等待使用的对象/// </summary>/// <param name="conn">连接字符串</param>/// <param name="cmd">已经建立的SqlCommand对象</param>/// <param name="cmdType">连接类型(存储过程还是字符串)</param>/// <param name="sqlText">存储过程名或者SQL语句</param>/// <param name="parms">参数列表</param>       public static void PrepareCommand(SqlConnection conn, SqlCommand cmd, CommandType cmdType, string sqlText, SqlParameter[] parms)       {//判断数据库的连接状态           if (conn.State != ConnectionState.Open)           {               conn.Open();           }           cmd.Connection = conn;//传递连接字符串           cmd.CommandText = sqlText;//存储过程名或者SQL语句           cmd.CommandType = cmdType;//连接类型

if (parms != null)//如果参数列表不为空           {foreach (var item in parms)               {                   cmd.Parameters.Add(item);               }           }

       } #endregion

#region ExecuteNonQuery/// <summary>/// 执行一个返回影响行数的SQLCommand命令/// </summary>/// <param name="connentionstring">连接字符串</param>/// <param name="cmdType">命令类型(存储过程,Sql语句)</param>/// <param name="sqlText">存储过程名称,或者Sql语句</param>/// <param name="parms">参数列表</param>/// <returns>返回数据库中受到影响的行数</returns>       public static int ExecuteNonQuery(string connentionstring, CommandType cmdType, string sqlText, SqlParameter[] parms)       {           SqlCommand cmd = new SqlCommand();try           {using (SqlConnection conn = new SqlConnection(connentionstring))               {                   PrepareCommand(conn, cmd, cmdType, sqlText, parms);int value = cmd.ExecuteNonQuery();return value;               }           }catch (Exception e)           {throw e;           }       } #endregion

#region ExecuteReader/// <summary>/// 一个顺序只读的SqlCommand对象/// </summary>/// <param name="connectionString">连接字符串</param>/// <param name="cmdType">连接类型(存储过程,或者SQL语句)</param>/// <param name="sqlText">存储过程名或者SQL语句</param>/// <param name="parms">数组话的参数列表</param>/// <returns>返回 一个SqlDataReader类型的结果集</returns>       public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string sqlText, SqlParameter[] parms)       {               SqlCommand cmd = new SqlCommand();               SqlConnection conn = new SqlConnection(connectionString);try           {               PrepareCommand(conn, cmd, cmdType, sqlText, parms);               SqlDataReader sdr = cmd.ExecuteReader();return sdr;           }catch            {               conn.Close();throw;           }       } #endregion

#region ExecuteScalar/// <summary>/// 执行一个返还第一行第一列的SqlCommand/// </summary>/// <param name="connectionString">连接字符串</param>/// <param name="cmdtype">连接类型(存储过程,SQL语句)</param>/// <param name="sqltext">存储过程名或者需要执行的SQL语句</param>/// <param name="parms">参数列表</param>/// <returns>返还一个Object 类型的值,使用过程中需要做类型转换</returns>       public static object ExecuteScalar(string connectionString, CommandType cmdtype, string sqltext, SqlParameter[] parms)       {           SqlCommand cmd = new SqlCommand();using (SqlConnection conn = new SqlConnection(connectionString))            {                PrepareCommand(conn, cmd, cmdtype, sqltext, parms);                Object obj = cmd.ExecuteScalar();return obj;            }       } #endregion

#region ExecuteDataset/// <summary>/// 执行一个返回DataSet集/// </summary>/// <param name="connectionString">连接字符串</param>/// <param name="cmdType">连接类型(存储过程,SQL语句)</param>/// <param name="sqltext">需要执行的SQL语句或存储过程名</param>/// <param name="parms">参数列表</param>/// <returns>返回一个DataSet集</returns>       public static DataSet ExecuteDataset(string connectionString, CommandType cmdType, string sqltext, SqlParameter[] parms)       {           SqlCommand cmd = new SqlCommand();using (SqlConnection conn = new SqlConnection(connectionString))           {               PrepareCommand(conn, cmd, cmdType, sqltext, parms);using (SqlDataAdapter sda = new SqlDataAdapter(cmd))               {                   DataSet ds = new DataSet();                   sda.Fill(ds);return ds;               }           }       }#endregion

   }}

转载于:https://www.cnblogs.com/SkyGrain/archive/2012/03/15/2397807.html

SQLHelp sql数据库的DAL相关推荐

  1. android通过webservice连接SQL数据库(一)服务器端

    作为一个学生党,参加了一个比赛,需要开发一个安卓app,需要用到数据库存储.SQLite数据库虽然是安卓常用的数据库,但只能在手机本地上进行存储,实现不了像QQ等其他软件一样实现用户登录功能.而且对于 ...

  2. Unity + SQL数据库创建管理玩家排行榜学习教程

    Unity + SQL Databases Player Management Leaderboards + More! Unity + SQL数据库玩家管理排行榜+更多! MP4 |视频:h264, ...

  3. 在ASP.NET中使用WINDOWS模式登录SQL数据库

    作者:未知   请作者速与本人联系 经常发现有用户使用WINDOWS模式登录SQL SERVER,结果失败,提示: 用户 'KEKC/ASPNET' 登录失败. 说明: 执行当前 Web 请求期间,出 ...

  4. SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复

    SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复 开发此工具是为了 让手工恢复数据库物理故障时 更加简单便捷直观, 本工具用于物理修复独立处理大部分问题以及与DBCC配合完成修复各种数据库错 ...

  5. SQL数据库的数据体系结构

    SQL数据库的数据体系结构基本上是三级结构.在SQL中,关系模式(模式)称为"基本表"(base table):存储模式(内模式)称为"存储文件"(stored ...

  6. 物流信息管理系统MySQL设计,物流管理系统的SQL数据库设计(含代码)

    物流管理系统的SQL数据库设计(含代码) 物流管理信息系统的数据库设计班级xxx系统名称:物流管理信息系统一.需求分析物流管理系统是为制造商和零售商设计的管理系统数据库系统,目的是:1.实现上游制造商 ...

  7. C# 连接SQL数据库字符串

    一:C# 连接SQL数据库   Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=m ...

  8. 压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志

    [标题]压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志  [内容]         清除SQL数据库日志文件        有两种方式: 一.是压缩日志,二.是 ...

  9. SQL数据库无法附加 823错误修复 连接中断

    SQL数据库无法附加 823错误修复 连接中断 数据类型 MSSQL 2000 速达数据库 数据大小 156 MB 故障检测 无法附加,提示连接中断. 客户要求 恢复数据库数据 修复好 ERP可直接使 ...

  10. [转]一次.NET Web应用程序安装包的制作经历:Sql数据库安装的3种方式 配置IIS及Web.Config文件...

    本文转自:http://www.cnblogs.com/moonspell/archive/2007/07/27/832433.html 原文如下: -----------   一次难得的安装包制作经 ...

最新文章

  1. 标准模板库(STL)学习指南之map映射
  2. Go 语言编程 — 高级数据类型 — 数组
  3. 二十五、redis主从复制
  4. MFC 中屏蔽CDialog类窗体处理ESC和ESCAPE按键
  5. vs code html table,vs Code 快速生成代码
  6. [html] 写一个搜索框,聚焦时搜索框向左拉长并有动画效果
  7. C及C++中的一些基础知识点(持续更新)
  8. Spring Cloud消息驱动整合
  9. php怎么产生随机数,php怎么生成随机数
  10. 台式计算机有哪些硬件,台式机包括什么
  11. 递归算法应用实例------八皇后算法
  12. WebStorm下载及破解
  13. android 通知静音_如何使电话静音(但不包括短信和通知)
  14. dev c++ 中的Program received signal SIGSEGV Segmentation fault
  15. 计算机软件服务费摊销期限,​软件服务费需要长期待摊吗
  16. VC++编译错误(无法打开源数据文件platform.winmd)
  17. python datetime与timestamp
  18. linux大疆sdk开发教程,大疆Linux Onboard-SDK例程运行指南
  19. 火狐浏览器Firefox 如何使用iMacros 自动填写网页表单
  20. tipask问答系统模板文件对照

热门文章

  1. SQLServer2008客户端软件
  2. paip.使用泛型时未能找到类型或命名空间名称“T
  3. (转)一个百倍股的坠落:那个曾经满大街的ESPRIT是如何衰败的
  4. 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 产品能力全球第一
  5. 马上上线!谷歌与苹果联手抗疫,打造基于蓝牙设备的接触史回溯 | 凌云时刻...
  6. 3d游戏编程大师技巧 源代码_C/C++编程新手入门基础系列:俄罗斯方块小游戏制作源代码...
  7. 【图像加密】基于matlab Logistic混沌+Arnold置乱图像加密解密【含Matlab源码 1281期】
  8. linux多进程通过中断实现,关于Linux内核源码中是如何区别进程上下文和中断上下文...
  9. php多个 运算_php计算多个集合的笛卡尔积实例详解
  10. 前端怎么做接口签名验证 -baijiahao_阿里一面:如何保证API接口数据安全?