牛腩新闻发布系统—错误总结

版权声明:我的四年啊! https://blog.csdn.net/sunshisiqi/article/details/86669849

 我在学习牛腩项目的时候,遇到了好多错误,其中印象最深的是关于SQL语句错误,和空间命名错误的问题。下面我来举几个例子。
 在修改新闻的时候,首先要把选择修改的新闻加载到页面上,这时候用到了存储过程。我遇到的问题是,提示我,将nvarchar类型转换为Int类型时出错。我的解决思路是:首先我想的是,是不是定义的string类型错误,然后在我修改的时候,发现修改一个地方,其他好多地方都要修改;我就觉得不对,肯定不是这么麻烦的。然后我去百度,有一个解决方案是:在DAL层的语句中,将其类型转换为int类型,我就把代码改了一下

// 原代码
SqlParameter[] paras = { new SqlParameter("@newsID", newsID) };
//更改之后的代码 本来想直接转成INT类型,结果这样写不对
SqlParameter[] paras = { new SqlParameter("@newsID",sqldbtype.into( newsID)) };

 最后我又找到一个解决办法,这个办法最后解决了我的问题,就是把存储过程中的类型改成nvarchar(50)类型。

// 存储过程
ALTER PROCEDURE [dbo].[SelectByNewsID]
  @newsID nvarchar(50)
AS
BEGIN
    declare @sql varchar(max)
	set @sql='select title,content,createTime,caID from news where newsID='+@newsID
	exec(@sql)
END

第二个问题是,在搜索新闻,用到了javascript,这里在引用的时候出现了问题,

// 语言是lang
<script lang="javascript" type="text/javascript">
        function changeCode() {
            var imgNode = document.getElementById("vimg");
            imgNode.src = "handler/WaterMark.ashx?t=" + (new Date()).valueOf();//这里加个时间的参数是为了防止浏览器的缓存问题
        }
</script>

在后端代码中写也要对应上。

// 后端代码部分
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script lang='javascript' defer>alert(‘评论删除失败,请联系管理员!');</script>");

这是我遇到的问题,请大家指教。

猜你喜欢

转载自blog.csdn.net/sunshisiqi/article/details/86669849