最近再做一个项目,出现一个小bug,bug虽小,但是却要命啊。下面我show下我解决问题的方法。

View层代码:

@model List<mhq.Blog.Model.Blog>

<blockquote class="layui-elem-quote">文章管理</blockquote>
<div style="padding:10px;">
<div>
<a class="layui-btn" href="~/Admin/Blog/Add">
<i class="layui-icon"></i> 添加
</a>
</div> <table class="layui-table">
<thead>
<tr>
<th>发布时间</th>
<th>boke标题</th>
<th>所属分类</th>
<th>访问量</th>
<th>排序号</th>
<th>管理</th>
</tr>
</thead>
<tbody>
@foreach (var blog in Model)
{
<tr>
<td>@blog.createdate.ToString("yyyy-MM-dd HH:mm")</td>
<td>@blog.title</td>
<td>@blog.caname</td>
<td>@blog.visitnum</td>
<td>@blog.sort</td>
<td>
<a style="margin-right:20px" href="~/Admin/Blog/Add/@blog.id">
<i class="layui-icon"></i>
编辑
</a>
<a href="javascript:void()0;" onclick="del(@blog.id)">
<i class="layui-icon"></i>
删除
</a>
</td>
</tr>
}
</tbody> </table>
</div> <script>
/* 删除*/
function del(id) {
layui.use('layer', function () {
var layer = layui.layer;
var $ = layui.jquery;
layer.confirm("是否确认删除?", function () { var url = "/Admin/Blog/Del/" + id;
$.post(url, function (data) {
layer.alert(data, function () { location.reload(); }); }) })
})
} </script>

Controller层代码:

 public IActionResult Index()
{
List<Model.Blog> list = dal.GetList(" 1=1 order by sort asc,id desc");
return View(list);
}

Dal层代码:

        /// <summary>
/// 查询
/// </summary>
/// <param name="cond">查询条件</param>
/// <returns></returns>
public List<Model.Blog> GetList(string cond)
{
// Dapper – Simple List
using (var connection = ConnectionFactory.GetOpenConnection())
{
string sql = "select * from blog ";
if (!string.IsNullOrEmpty(cond))
{
sql=sql+$" where{cond}";
}
var list = connection.Query<Model.Blog>(sql).ToList();
return list;
}
}

我这里出现的错误是“System.Data.SqlClient.SqlException:““=”附近有语法错误。”如图:

解决方法:

1、首先在此处方法上添加断点,如图:

2、运行程序到此断点(F5运行程序)

3、单步运行(F11)

对sql、 list添加监视,我们可以清楚的看到list里面的查询语句为:

select * from blogwhere1=1 order by sort asc,id desc

显然这是错误的查询语句。

如图:

正确的应为:

select * from blog where 1=1 order by sort asc,id desc

也就是说blog与where之间和where与1=1之间缺少空格。

所以我们只要在相关的代码中加上空格就OK了。

最新文章

  1. Java垃圾回收机制 入门
  2. mongoDB研究笔记:复制集故障转移机制
  3. 如何解决Android SDK中离线文档打开慢的问题
  4. html前端总结
  5. BZOJ 2753 [SCOI2012] 滑雪和时间胶囊 最小生成树
  6. 总结 XSS 与 CSRF 两种跨站攻击
  7. 分区 Service Bus 队列和主题
  8. jquery快速入门(一)
  9. MyDAL - 组件适用范围说明
  10. matlab中fix函数,floor函数,ceil函数
  11. php定界符&lt;&lt;&lt;EOF讲解
  12. 使用mac自带终端修改hosts
  13. 1.Liunx 文件管理
  14. window.setTimeout和window.setInterval的区别,及用其中一个方法记录时间。
  15. fms +fme 视频直播
  16. Iframe内联框架
  17. php strcmp()函数
  18. Kafka开发环境搭建(五)
  19. PHP-线程安全与非线程安全版本的区别
  20. 2013年五大主流浏览器 HTML5 和 CSS3 兼容性大比拼【转】

热门文章

  1. 自定义合并列:el-table
  2. 基于VMware Workstation在Windows Server 2008 R2上搭建SQL Server 2012高可用性组(AlwaysOn Group)测试环境(二)
  3. 【第八篇】SAP ABAP7.5x新语法之F4增强【续】
  4. ffmpeg文件切片
  5. asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value &#39;DALMsSql.DBSessionFactory,DALMsSql&#39;.
  6. vue 去除前后空格trim
  7. indexOf() 使用方法(数组去重)
  8. SA-题目
  9. 初级算法-6.两个数组的交集 II
  10. ASP.NET Log4net 记录日志