using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration; namespace DAL
{
public class SQLHelper
{ private SqlConnection conn =null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null; public SQLHelper()
{
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
conn = new SqlConnection(connStr);
} private SqlConnection GetConn()
{
if (conn.State==ConnectionState.Closed)
{
conn.Open();
}
return conn;
} /// <summary>
/// 执行不带参数的增删改查SQL语句或存储过程
/// </summary>
/// <param name="cmdText">不带参数的增删改查SQL语句或存储过程</param>
/// <param name="ct">命令类型</param>
/// <returns></returns>
public int ExecuteNonQuery(string cmdText,CommandType ct)
{
int res;
using (cmd = new SqlCommand(cmdText, GetConn()))
{
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
} /// <summary>
/// 执行带参数的SQL增删改查或存储过程
/// </summary>
/// <param name="cmdText">参数的SQL增删改查或存储过程</param>
/// <param name="paras">参数集合</param>
/// <param name="ct">命令类型</param>
/// <returns></returns>
public int ExecuteNonQuery(string cmdText,SqlParameter[] paras,CommandType ct)
{
int res;
using (cmd = new SqlCommand(cmdText, GetConn()))
{ cmd.Parameters.AddRange(paras);
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
} /// <summary>
/// 执行带参数的增删改SQL语句或存储过程
/// </summary>
/// <param name="sql">带参数的增删改SQL语句或存储过程</param>
/// <param name="ct">命令类型</param>
/// <returns></returns>
public DataTable ExecuteQuery(string cmdText,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmdText, GetConn());
cmd.CommandType = ct;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} /// <summary>
/// 执行带参数的SQL查询语句
/// </summary>
/// <param name="cmdText">带参数的SQL查询语句</param>
/// <param name="paras">参数集合</param>
/// <param name="ct">执行类型</param>
/// <returns>DataTable</returns>
public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmdText, GetConn());
cmd.Parameters.AddRange(paras);
cmd.CommandType = ct;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} /// <summary>
/// ExecuteScalar--返回首行首列
/// </summary>
/// <param name="XSqlString">sql语句</param>
/// <returns>返回结果集的首行首列</returns>
public int GetRecordCount(string XSqlString)
{
string SCount; SqlCommand Cmd = new SqlCommand(XSqlString, GetConn());
SCount = Cmd.ExecuteScalar().ToString().Trim(); //返回结果集的首行首列,忽略其它
if (SCount == "")
SCount = "0"; return Convert.ToInt32(SCount);
} }
}

  

SqlHelper 增删改查的更多相关文章

  1. sqlHelper做增删改查,SQL注入处理,存储值,cookie,session

    一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...

  2. sqlhelper sqlparameter 实现增删改查

    这是sqlHelper.cs类,类内里封装了方法 using System; using System.Collections.Generic; using System.Linq; using Sy ...

  3. sqlHelper的增删改查

    当一件事情被反复做了多次后.会想找一种办法来取代自己去做这个反复的动作. 敲代码也一样. 在程序中.对于反复的部分.假设是全然同样,那我们就会想着将其写成一个方法(过程.函数),放在一个具有权限的需求 ...

  4. asp.net下利用MVC模式实现Extjs表格增删改查

    在网上看到有很多人写extjs下的表格控件的增删改查,但是大多数都是直接从后台读取数据,很少有跟数据库进行交互的模式. 今天就来写一个这样的例子.欢迎大家交流指正. 首先简单介绍一下MVC模式,MVC ...

  5. ORM 实现数据库表的增删改查

    这次通过反射技术来实现一下数据库表的增删改查对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 注:引用时约束了以下几点: 数据 ...

  6. ado.net的简单数据库操作(三)——简单增删改查的实际应用

    果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...

  7. ASP.NET学习笔记(3)——用户增删改查(三层)

    说明(2017-10-6 11:21:58): 1. 十一放假在家也没写几行代码,本来还想着利用假期把asp.net看完,结果天天喝酒睡觉,回去的票也没买到,惨.. 2. 断断续续的把用户信息的页面写 ...

  8. BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块

    NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...

  9. 纯Java JDBC连接数据库,且用JDBC实现增删改查的功能

    Java JDBC连接数据库 package cn.cqvie.yjq; import java.sql.*; /** * 注册数据库的驱动程序,并得到数据库的连接对象 * @author yu * ...

随机推荐

  1. GOLANG 1.9 语言规范

    GOLANG 1.9 语言规范 - CSDN博客 https://blog.csdn.net/libing_thinking/article/details/77671607

  2. 【题解】P3129高低卡(白金)High Card Low Card

    [题解][P3129 USACO15DEC]高低卡(白金)High Card Low Card (Platinum) 考虑贪心. 枚举在第几局改变规则,在改变规则之前,尽量出比它大的最小的牌,在改变规 ...

  3. php微信支付测试开发(流程已通)

    必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台自己设置  appsecret //公众号开发者中心获得 两个证书文件,邮件内 ...

  4. 设置sudo的过期时间

    默认sudo的过期时间过短,经常要输入密码 sudo visudo Defaults env_reset找到这行代码 后面加上timestamp_timeout参数,数值是分钟 ,timestamp_ ...

  5. 使用viewholder优化listview,减少findViewById的次数

  6. 7-6 公路村村通(30 分) 【prime】

    7-6 公路村村通(30 分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤10 ...

  7. Java性能分析方法

    Java调优经验 http://www.rowkey.me/blog/2016/11/02/java-profile/

  8. UVA11330 Andy's Shoes —— 置换分解

    题目链接:https://vjudge.net/problem/UVA-11330 题意: 给出n双鞋子,鞋子按左右左右地摆放,但“左右”是否为一对鞋子是不确定的.问:至少交换多少次鞋子,才能把每双鞋 ...

  9. Contiki Timer & Stimer 模块

    一.Timer API struct timer { clock_time_t start; clock_time_t interval; }; CCIF void timer_set(struct ...

  10. JS继承的实现方式

    JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一.那么如何在JS中实现继承呢?让我们拭目以待. JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: // 定义一个动物类 ...