新闻发布系统后台
2014-11-30 22:46
260 查看
作为第一个进行的Web系统,新闻发布系统的后台代码和之前编写的机房没有太大的区别,下面主要通过SQLHelper()方法的创建和重构总结下新闻系统的后台。
首先是画用例图、类图、进行数据库的设计!这里不做详细说明每个系统开始的工作。然后编写D层代码SQLHelper(),以ExecuteNonQuery()方法来简单描述SQLHelper()的几次重构
1.主要结构
原来是针对单个的一个功能写一个方法,这里将方法的主要结构拿出,通过传入sql语句来执行类似的操作。
public int ExecuteNonQuery(string sql)
{
string connStr ="server=liangliangPC;database=newssystem;user id=sa;password=123456";
SqlConnection conn = newSqlConnection(connStr);
conn.Open();
SqlCommand cmd = newSqlCommand(sql, conn);
int res = cmd.ExecuteNonQuery();
conn.Close();
return res;
}
2.抽取共同点
sqlhelper()中的几个方法,将实例化SqlCommand等相同的内容抽出来。
SqlConnection链接字符串以配置文件的方式实现。
使用try catch语句块或using(),using()当函数的中的内容执行完毕之后自动关闭数据库连接释放资源。
public int ExecuteNonQuery(string sql)
{
int res;
try
{
cmd = new SqlCommand(sql,GetConn());
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex ;
}
finally
{
if (conn.State ==ConnectionState.Open)
{
conn.Close();
}
}
return res;
}
3.添加参数
主要是防止sql注入,关于sql注入的问题,新闻系统中只是讲解了拼接字符串的方式,其他的方式有兴趣的话可以在网上搜索哈!
public int ExecuteNonQuery(stringsql, SqlParameter[] paras)
{
int res;
using (cmd = new SqlCommand(sql ,GetConn()))
{
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
return res;
}
4.存储过程和触发器
sql语句的另一种实现方式,只是他们写在数据库中
使用的时候通过调用名称,代码中添加 cmd.CommandType
=CommandType.StoredProcedure;即可
public int ExecuteNonQuery(stringcmdText, CommandType ct, SqlParameter[] paras)
{
int res;
using (cmd = new SqlCommand(cmdText, GetConn()))
{
cmd.Parameters.AddRange(paras);
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
}
总结:在通过对SQLHelper()的几次重构中完成了新闻后台代码!关于存储过程和触发器已经有人写过不少博客就不在描述了,重点还是sql语句的使用。
首先是画用例图、类图、进行数据库的设计!这里不做详细说明每个系统开始的工作。然后编写D层代码SQLHelper(),以ExecuteNonQuery()方法来简单描述SQLHelper()的几次重构
1.主要结构
原来是针对单个的一个功能写一个方法,这里将方法的主要结构拿出,通过传入sql语句来执行类似的操作。
public int ExecuteNonQuery(string sql)
{
string connStr ="server=liangliangPC;database=newssystem;user id=sa;password=123456";
SqlConnection conn = newSqlConnection(connStr);
conn.Open();
SqlCommand cmd = newSqlCommand(sql, conn);
int res = cmd.ExecuteNonQuery();
conn.Close();
return res;
}
2.抽取共同点
sqlhelper()中的几个方法,将实例化SqlCommand等相同的内容抽出来。
SqlConnection链接字符串以配置文件的方式实现。
使用try catch语句块或using(),using()当函数的中的内容执行完毕之后自动关闭数据库连接释放资源。
public int ExecuteNonQuery(string sql)
{
int res;
try
{
cmd = new SqlCommand(sql,GetConn());
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex ;
}
finally
{
if (conn.State ==ConnectionState.Open)
{
conn.Close();
}
}
return res;
}
3.添加参数
主要是防止sql注入,关于sql注入的问题,新闻系统中只是讲解了拼接字符串的方式,其他的方式有兴趣的话可以在网上搜索哈!
public int ExecuteNonQuery(stringsql, SqlParameter[] paras)
{
int res;
using (cmd = new SqlCommand(sql ,GetConn()))
{
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
return res;
}
4.存储过程和触发器
sql语句的另一种实现方式,只是他们写在数据库中
使用的时候通过调用名称,代码中添加 cmd.CommandType
=CommandType.StoredProcedure;即可
public int ExecuteNonQuery(stringcmdText, CommandType ct, SqlParameter[] paras)
{
int res;
using (cmd = new SqlCommand(cmdText, GetConn()))
{
cmd.Parameters.AddRange(paras);
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
}
总结:在通过对SQLHelper()的几次重构中完成了新闻后台代码!关于存储过程和触发器已经有人写过不少博客就不在描述了,重点还是sql语句的使用。
相关文章推荐
- 牛腩新闻发布系统之系统分析、后台设计
- 牛腩新闻发布系统——后台前台整合技术
- 牛腩新闻发布系统后台开发总结
- 新闻发布系统后台(未完待续)
- angular接受后台HTML (新闻发布系统)
- 【牛腩新闻发布系统】--后台、界面制作总结
- 牛腩新闻发布系统——后台前台整合技术
- 牛腩新闻发布系统——后台登录界面生成验证码
- CSDN支持“雕塑”系统的新闻已经发布!
- 雷池新闻发布系统uploadPic.asp漏洞
- 一个完整的新闻发布系统
- 博客园的后台功能真强大,是我见过的最好的博客发布系统了。
- 用文本+ASP打造新闻发布系统
- 对讯时新闻发布系统的艰难突破
- J2EE项目:整合SSH开发『新闻发布系统』
- DWR 应用实例(二) 新闻发布系统,多种新闻类型之间切换无刷新
- asp小型新闻发布系统
- 新闻发布系统升级规划 2004-07-28
- C#版的网站新闻发布系统
- 如何建立自己的新闻发布系统?