using System; using System.Configuration;// using System.Data;// using System.Data.SqlClient;// public class SqlHelper { private SqlConnection conn = null; private SqlCommand cmd = null; private SqlDataReader sdr = null; public SqlHelper() { /* * 先引用组件:System.configuration * 再using System.Configuration * 修改节点:<connectionStrings><add name="connStr" connectionString="数据库连接字符串"/></connectionStrings> */ string connstr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; conn = new SqlConnection(connstr); } public bool ss() { if (conn.State==ConnectionState.Open) { return true; } else { return false; } } //打开conn private SqlConnection GetConn() { if (conn.State == ConnectionState.Closed) { conn.Open(); } return conn; } /// <summary> /// 该方法执行传入增删改SQL语句,返回受影响行数 /// </summary> /// <param name="sql">增删改SQL语句</param> /// <returns>返回受影响行数</returns> public int ExecuteNonQuery(String sql) { int res; try { SqlCommand cmd = new SqlCommand(sql, GetConn()); res = cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } return res; } /// <summary> /// 该方法执行传入增删改SQL语句,返回受影响行数(+1) /// </summary> /// <param name="cmdText">增删改SQL语句</param> /// <returns></returns> public int ExecuteNonQuery(string cmdText, SqlParameter[] paras) { int res; using (cmd = new SqlCommand(cmdText, GetConn())) { cmd.Parameters.AddRange(paras); res = cmd.ExecuteNonQuery(); } return res; } /// <summary> /// 该方法执行传入的Sql查询语句 /// </summary> /// <param name="sql">要执行的Sql查询语句</param> /// <returns>返回DataTable</returns> public DataTable ExecuteQuery(string sql) { DataTable dt = new DataTable(); cmd = new SqlCommand(sql, GetConn()); using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } }


下面是试用:

using System; using System.Collections.Generic; using System.Text; using System.Data;// using System.Data.SqlClient;// public class TestQuestions { private SqlHelper s = null; public TestQuestions() { s = new SqlHelper(); } /// <summary> /// 插入题目 /// </summary> /// <param name="questionsclass">问题分类</param> /// <param name="quesstions">问题题目</param> /// <param name="answer1">答案1(正确答案)</param> /// <param name="answer2">答案2</param> /// <param name="answer3">答案3</param> /// <param name="answer4">答案4</param> /// <returns></returns> public bool Insert(string questionsclass, string questions, string answer1, string answer2, string answer3, string answer4) { bool flag = false; string sql = @"insert into t_testquestions values(@questionsclass,@questions,@answer1,@answer2,@answer3,@answer4)"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@questionsclass", questionsclass), new SqlParameter("@questions", questions), new SqlParameter("@answer1", answer1), new SqlParameter("@answer2", answer2), new SqlParameter("@answer3", answer3), new SqlParameter("@answer4", answer4) }; int res = s.ExecuteNonQuery(sql, paras); if (res > 0) { flag = true; } return flag; } /// <summary> /// 该方法取出所有题目(按题目分类排序) /// </summary> /// <param name="classid">题库id</param> /// <returns>返回DataTable</returns> public DataTable SelectAll_test(string classid) { string sql = @"select * from t_testquestions where questionsclassid="+classid; DataTable dt = s.ExecuteQuery(sql); return dt; } /// <summary> /// 该方法删除一条题目 /// </summary> /// <param name="id">题目的id</param> /// <returns></returns> public bool Delete(string id) { bool flag = false; string sql = @"delete t_testquestions where id=@id"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@id", id) }; int res = s.ExecuteNonQuery(sql, paras); if (res > 0) { flag = true; } return flag; } /// <summary> /// 该方法更新指定id的题目 /// </summary> /// <param name="id">题目的id</param> /// <param name="questionsclass">问题分类</param> /// <param name="quesstions">问题题目</param> /// <param name="answer1">答案1(正确答案)</param> /// <param name="answer2">答案2</param> /// <param name="answer3">答案3</param> /// <param name="answer4">答案4</param> /// <returns>成功返回真</returns> public bool update(string id,string questionsclass, string questions, string answer1, string answer2, string answer3, string answer4) { bool flag = false; string sql = @"update t_testquestions set [questionsclass]=@questionsclass,[questions]=@questions,[answer1]=@answer1,[answer2]=@answer2,[answer3]=@answer3,[answer4]=@answer4 where id=@id"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@id", id), new SqlParameter("@questionsclass", questionsclass), new SqlParameter("@questions", questions), new SqlParameter("@answer1", answer1), new SqlParameter("@answer2", answer2), new SqlParameter("@answer3", answer3), new SqlParameter("@answer4", answer4) }; int res = s.ExecuteNonQuery(sql, paras); if (res > 0) { flag = true; } return flag; } public string idToQuestions(string id) { string sql = @"select * from t_testquestions where id=" + id; DataTable dt = s.ExecuteQuery(sql); return dt.Rows[0][2].ToString(); } //---类别管理 /// <summary> /// 该方法取出所有题库分类 /// </summary> /// <returns>返回DataTable</returns> public DataTable SelectAll_class() { string sql = @"select * from t_questionsclass "; DataTable dt = s.ExecuteQuery(sql); return dt; } /// <summary> /// 刚方法添加题库 /// </summary> /// <param name="name">题库名</param> /// <returns>成功返回真</returns> public bool Insert_Class(string name) { bool flag = false; if (!IsExists_class(name)) { string sql = @"insert into t_questionsclass values('" + name + "')"; int res = s.ExecuteNonQuery(sql); if (res > 0) { flag = true; } } return flag; } /// <summary> /// 该方法删除一个题库 /// </summary> /// <param name="id">题库id</param> /// <returns></returns> public bool Delete_class(string id) { bool flag = false; string sql = @"delete t_questionsclass where id=@id"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@id", id) }; int res = s.ExecuteNonQuery(sql, paras); if (res > 0) { flag = true; } return flag; } /// <summary> /// 该方法判断传入题库名是否存在 /// </summary> /// <param name="name">题库名</param> /// <returns>存在返回true,不存在返回false</returns> public bool IsExists_class(string name) { bool flag = false; string sql = "select * from t_questionsclass where [classname]='" + name + "'"; DataTable dt = s.ExecuteQuery(sql); if (dt.Rows.Count > 0) { flag = true; } return flag; } }

转载于:https://www.cnblogs.com/webdesign/archive/2011/05/26/tt116.html

[Asp.Net]自己的一个SqlHelper类相关推荐

  1. .net mysql sqlhelper_「谢灿asp.net三层架构」5、DAL中公共类-SqlHelper类应该这样写

    <谢灿asp.net三层架构>系列教程由小灿灿IT首发百度平台,希望对各位喜欢计算机的同学有所帮助!关注+分享+评论+点赞,是对我们最好的支持!有了您的支持,我们坚信我们会做得更好! 在C ...

  2. 整理出一个比较实用的SqlHelper类 满足大多数情况的使用

    /// <summary>/// SqlHelper类 by zy 2016-3-11/// </summary>public sealed class SqlHelper{/ ...

  3. ADO.NET复习——自己编写SqlHelper类

    今天复习了一次ADO.NET基础,整理一下自己的认为的重点: 编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法.现在大多数公司面试的时候,给你的面试题 ...

  4. asp.net夜话之五:Page类和回调技术

    asp.net夜话之五:Page类和回调技术 在今天我主要要介绍的有如下知识点: Page类介绍 Page的生命周期 IsPostBack属性 ClientScriptManager类 回调技术(Ca ...

  5. ASP.NET页面对象模型:Page类介绍

    ASP.NET页面对象模型简介 Microsoft Internet 信息服务 (IIS) 所收到的对某 Microsoft ASP.NET 页面的每个请求都被移交给 ASP.NET HTTP 管线. ...

  6. PHP用单例模式实现一个数据库类

    使用单例模式的出发点: 1.php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源. 2.如果系统中需要有一个类来全局控制某些 ...

  7. SqlHelper 类

    using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using Syst ...

  8. SqlHelper类的使用

    机房重构进行了一小阶段,刚开始敲代码的时候,实现每一个功能都要在D层类中写一次数据据库连接SqlConnection,SqlCommand,SqlDataReader语句,感到相当地麻烦.遇到这个问题 ...

  9. C# SqlHelper类的使用

    SqlHelper类 1.首先SqlHelper类是一个基于.NET Framework的数据库操作组件,包含了数据库的操作方法.可以简化在C#中使用ADO.NET连接数据库时每次都要编写连接.打开. ...

最新文章

  1. [Embeding-1]Efficient Estimation of Word Representations in Vector Space 译文
  2. 小白如何学习大神的小项目
  3. Halcon算子学习:get_sheet_of_light_result
  4. (转)WIN7更改用户名访问共享文件夹
  5. 【最新版1909 (updated Jan 2020)】Windows10操作系统官方原版镜像
  6. 使用mimikatz抓取windows管理员密码
  7. js登录界面使用ajax连接数据库,js用ajax连接数据库数据
  8. winpe装双系统linux_在Winpe下安装Ubuntu
  9. gan处理自己的数据集_使用StyleGAN训练自己的数据集.md
  10. 程序员PK律师——瑞幸咖啡战局
  11. springBoot启动类报错
  12. 淘宝taobao.com步3721后尘晋升新网骚
  13. 微信支付 android4.4,Android集成微信支付
  14. 苹果手机滑动光标怎么设置_iPhone手机三种方便又准确的移动光标方式
  15. 深度学习之数据处理方法概述
  16. 广东计算机非全日制 学校2020,2020年广东省非全日制研究生学校及专业有那些?...
  17. UE4 C++入门——动画蒙太奇 学习笔记
  18. 如何用好MindManager中的时间轴模板
  19. 出力CSV文件将逗号转义
  20. QT 与 MFC 的区别

热门文章

  1. uuid怎么获取_我们经常说的限流应该怎么做?
  2. python最基本的规则是关键字吗,Python 关键字
  3. python中可选参数_带可选参数的Python函数
  4. 《iOS 全埋点技术白皮书》重磅推出
  5. android studio代码对齐的快捷键
  6. Oracle数据库锁诊断
  7. Android Studio配置GreenDAO 3.2.0和使用方法
  8. 专 linux命令之set x详解
  9. [Java入门笔记] 面向对象三大特征之:封装
  10. jquery实现抽奖系统