日期:2014-05-18  浏览次数:20414 次

这串asp.net代码怎么理解?
C# code
 /// <summary>
        /// 增加新闻
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public bool Insert(News n)
        {
            //TODO:增加新闻
            SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@title",n.Title),
            new SqlParameter("@content",n.Content),
            new SqlParameter("@caid",n.CaId)};
            if (sqlhelper.ExecuteNonQuery("News_Add", paras, CommandType.StoredProcedure) > 0)
            {
                return true;
            }
            return false;
        }

为什么他不用sql语句来操作数据库,而是直接就写个"News_Add"

------解决方案--------------------
sql语句写在存储过程里面
你到数据库里找到这个存储过程看看就知道了
------解决方案--------------------
貌似News_Add是存储过程的名字
------解决方案--------------------

执行的存储过程。。。你可以在数据库中去看。。。

叫News_Add的存储过程
------解决方案--------------------
News_Add这是存储过程,带了3个参数@title,@content,@caid
------解决方案--------------------
C# code
/// <summary>
        /// 增加新闻
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public bool Insert(News n)
        {
            //TODO:增加新闻
            SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@title",n.Title),//参数
            new SqlParameter("@content",n.Content),//参数
            new SqlParameter("@caid",n.CaId)};//参数
                                            //存储过程名称
            if (sqlhelper.ExecuteNonQuery("News_Add", paras, CommandType.StoredProcedure) > 0)
            {
                return true;
            }
            return false;
        }

------解决方案--------------------
调用的存储过程。看来楼主还得努力呀。
------解决方案--------------------
News_Add是存储过程吧 到数据库中看看吧
------解决方案--------------------
存储过程,参数化
------解决方案--------------------
存储过程参数带入
------解决方案--------------------
ExecuteNonQuery看这个方法的定义