牛腩新闻发布系统,在看视频的过程中,是根据视频进行一步步的编写优化的,现在到了添加存储过程的时候,当然在我们进行机房重构的时候就已经用过存储过程了,但究其说,存储过程和SQLHelper究竟是怎样联合使用的,当时是不清楚的,今天看到这一部分,就对其做一个过程的总结。
ALTER PROCEDURE [dbo].[procNewsSeleteNewNews] AS BEGIN select top 10 n.id,n.title ,n.createTime ,c.[name] from news n inner join category c on n.caId=c.id order by n.createTime desc END
public DataTable test(string procName) { DataTable dt = new DataTable(); cmd = new SqlCommand(procName, GetConn()); cmd.CommandType = CommandType.StoredProcedure; using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; }
GridView1.DataSource = new SQLHelper().test("procNewsSeleteNewNews"); GridView1.DataBind();
/// <summary> /// 该方法执行传入的SQL查询语句 /// </summary> /// <param name="sql">SQL查询语句</param> /// <returns></returns> public DataTable ExecuteQuery(string sql) { DataTable dt = new DataTable(); cmd = new SqlCommand(sql, GetConn()); cmd.CommandType = CommandType.Text; using (sdr =cmd .ExecuteReader (CommandBehavior .CloseConnection )) { dt.Load(sdr); } //sdr = cmd.ExecuteReader(); //dt.Load(sdr); //sdr.Close(); //conn.Close(); return dt; }
/// <summary> /// 执行SQL查询语句或者存储过程 /// </summary> /// <param name="cmdText">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); } //sdr = cmd.ExecuteReader(); //dt.Load(sdr); //sdr.Close(); //conn.Close(); return dt; }
这只是牛腩新闻发布系统学习过程中收获的冰山一角,之后的内容一定还会有更多更深入的内容需要我们学习,虽然是跟着视频一步步的往前进,但相对于之前看过的视频,那差距可真不是一星半点,期待后面的学习能够有更多的收获!