对于本框架系列,希望年轻来者在掌握使用的同时,动手照着系列文章写一写,如果照着写出来的,相信成长不是一点半点的;别光看不练,最后只能忽悠却动不了手。
这篇文章很不好写,我在电脑前思索了一天,也不知怎么下手。
关于SQLHelper的文章遍地都是,写的不咋的随时被拍砖,不写吧,本系列又不完整,所以,买了个保险之后,低调点写了。
从哪写起呢?直接把整个SQLHelper类复制一下,文章就算写完了?好像其它遍地都是的文章都差不多是这个样子的。
在还没写完这篇时,曾经有那么个热心人士反编绎过我的框架,还洒了点代码出来了,提前爆光了一下:
详见:
1:CYQ.Data 轻量数据层之路 华丽升级 V1.3出世(五)
2:CYQ.Data 轻量数据层之路 应用示例二 在线聊天(六)
本文停了一天没动了,现在重新执笔动手了,想了想,于是在博客园搜了一下,看了第一页搜出来的10篇SQLHelper相关代码,
简略看了一眼,发现还是鄙人的简洁友好的多,于是,继续写下来了:
其实我们要的SQLHelper很简单,只要能执行下sql语句和存储过程,也就这个样了,至于事务,这里先放一边了。
接着一步一脚印:
1:我们新增加一个SQHelper类,由于本类并不对外开放,所以我们不改修饰符为public,默认就好了
/// SQLHelper by 路过秋天
/// </summary>
class SQLHelper
{
}
2:由于我们不做成静态方法调用方式,所以我们需要实例化,添加两个构造函数
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
/// SQLHelper by 路过秋天
/// </summary>
class SQLHelper
{
/// <summary>
/// 默认配置连接字符串名:Conn
/// </summary>
public SQLHelper()
{
}
/// <summary>
/// 可以传链接字符串
/// </summary>
public SQLHelper( string conn)
{
}
}
3:既然要实例化才调用,那我们只需要一个Command和一个链接就可以了,所以,我们把它们拿到外面定义成全局变量
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
{
private SqlCommand com = new SqlCommand();
private SqlConnection _con = null ;
/// <summary>
/// 默认配置连接字符串名:Conn
/// </summary>
public SQLHelper()
{
}
/// <summary>
/// 可以传链接字符串
/// </summary>
public SQLHelper( string conn)
{
}
}
上面没有直接new 出SqlConnection,是因为它和链接字符串相关,留到构造函数里初始化了。
4:实现构造函数,初始化SqlConnection
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
{
if (ConfigurationManager.ConnectionStrings[ " Conn " ] != null )
{
_con = new SqlConnection(ConfigurationManager.ConnectionStrings[ " Conn " ].ConnectionString);
com.Connection = _con;
}
}