c#中sqlhelper类的编写(一)
在.net平台的项目开发中,凡是用到数据库交互的,都有必要了解SqlHelper类的原理.
步骤一:
我就拿WPF项目开发作为例子.首先要新建一个App.config(应用程序配置文件).注意,在VS中默认新建的文件名为App1.config.必须要把名字改回来.你不管在App1.config里写什么,项目都不会加载.文件名必须是App.config.当然,如果你做的是web开发,可以新建一个web.config配置文件,原理相同.
新建这个配置文件用来写入与数据库连接的必要信息.如服务器地址,数据库名称,用户名,密码.
<configuration>
<connectionStrings>
<add name="connStr" connectionString="Data Source=127.0.0.1;Initial Catalog=db_mytest;User Id=user;Password=111"/>
</connectionStrings>
</configuration>
步骤二:
配置文件写好了.现在我们就来写SqlHelper这个类了.
在写类的时候,一定要思路清晰,知道具体的步骤,按部就班的来.
首先要做的必然是建立和数据库的连接.然后才是定义增删改查的方法,代码如下.
class SqlHelper
{
private string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
public int ExecuteNonQuery(string sql)
{
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText=sql;
return cmd.ExecuteNonQuery();
}
}
}
}
当然了,我只是写了一个增删改的方法,这个方法返回的是一个int型数据,表示表中受影响的行数.下面是查的方法,因为这个方法返回的是对象类型,所以函数的返回类型为object.
public object ExecuteScalar(string sql)
{
//同样是先建立连接
using(SqlConnection conn = new SqlConnection(connStr))
{ conn.Open(); //打开连接
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText=sql;
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
return dataset;
}
} }
当然了,以上只是一个简单的原理.落实到具体项目中还有很多需要弥补的地方.比如防止SQL注入,比如更方便的tabledata 函数返回.我会在后面的文章中仔细讲解.
c#中sqlhelper类的编写(一)的更多相关文章
- c#中sqlhelper类的编写(二)
		上一篇文章讲了简易版的SqlHelper类的编写,我们在这里就上一篇文章末尾提出的问题写出解决方案. sql语句注入攻击已经是众所周知的了.我们如何在C#中保护自己的数据库不被这样的方式攻击呢? 不用 ... 
- c#中SqlHelper类的编写(三)
		下面我们直接用可变长度参数的方式写一个完整的SqlHelper增删改public static int ExecuteNonQuery(string sql,params Parameter[] pa ... 
- Mybatis 中实体类的编写
		一个实体类对应一个数据表 一个属性对应一个字段 默认情况下类名和属性名都采用 “下划线转驼峰” 的命名方式.但具体采用什么样的命名方式并不重要(方式一致即可),在后面使用这些对象的时候,可以通过 re ... 
- SqlHelper类的编写
		using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ... 
- ADO.NET复习——自己编写SqlHelper类
		今天复习了一次ADO.NET基础,整理一下自己的认为的重点: 编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法.现在大多数公司面试的时候,给你的面试题 ... 
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
		22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ... 
- XCode中的单元测试:编写测试类和方法(内容意译自苹果官方文档)
		当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法. 这一章演示了怎么创建测试类,以及如何编写测试方法. 测试targets, ... 
- SqlHelper中SqlHelperParameterCache类的用法介绍
		SqlHelper类中提供了三种可以用来管理SqlParameter参数的共享方法.下面来一一讲解: 1.CacheParameterSet 将SqlParameter参数数组存储到本地缓存中 2.G ... 
- Struts2 | struts.xml文件中使用method属性和通配符简化action标签和Action处理类的编写
		转自:https://www.jianshu.com/p/310e89ee762d 在Struts2框架中,我们知道基本的Action标签只能实现一个url请求对应一个Action处理类.那么我们如果 ... 
随机推荐
- Javascript oop深入学习笔记(三)--javascript中类的实现
			一.类的实现机制 在javascript中可以使用function关键字来定义一个类.在函数内通过this指针引用的变量或则方法都会成为类的成员. function classDemo(){ var ... 
- Recovery启动流程(2)---UI界面
			转载请注明来源:cuixiaolei的技术博客 Recovery启动流程系列文章把recvoery目录下文件分成小块讲解,最后再以一条主线贯穿所有的内容.这篇文章主要讲解Recovery-UI的相关内 ... 
- C语言预处理操作符
			在看<深入剖析Nginx>时看见一个非常少见的C语言知识点:预处理操作符. #define conn(x,y) x##y //将子串x和y连接形成新的串 #define tochar(x) ... 
- SQL Server网络地址备份
			SQL Server网络地址备份 Ø 软件系统: SQL Server 各版本 1.问题描述: 在XX客户做SQL Server 到Oracle 数据迁移时,当时由于客户的SQL Server200 ... 
- linux内存查看
			一般用free命令,显示整体内存使用状况: 第二行从OS角度,used包括内核+应用+buffers+cached使用的内存,buffers/cached是磁盘缓存的大小 第三行从应用角度,可用内存= ... 
- centos7重置root开机登录密码
			今天忘记了centos7 root登录的密码,本来要好好的做个图文的教程也好啊,但是忘记截图什么的,就不在重复的工作了, 参考了下面的两个链接重置了密码,结合使用效果更好哦,嘿嘿.. 下次要是再遇到这 ... 
- JDBC的批量查询报告内存溢出解决方法
			由于表中的数据过多(我的超过了50W+),查询select * from table ....报告内存溢出 Exception in thread "main" java.lang ... 
- 【转】六年软件测试感悟-从博彦到VMware
			不知不觉已经从事软件测试六年了,2006毕业到进入外包公司外包给微软做软件测试, 到现在加入著名的外企.六年的时间过得真快. 长期的测试工作也让我对软件测试有了比较深入的认识.但是我至今还是一个底层的 ... 
- JS中的嵌套作用域
			在JS中仅仅区分全局变量和局部变量还不够,实际上,变量作用域可以有任意层级(嵌套).其他函数内部定义的函数可以调用父函数的局部变量,而内部函数里定义的函数则不仅可以调用父函数的局部变量,还可以调用祖父 ... 
- HDOJ2004成绩转换
			成绩转换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ... 
