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

View层代码:

  1. @model List<mhq.Blog.Model.Blog>
  2.  
  3. <blockquote class="layui-elem-quote">文章管理</blockquote>
  4. <div style="padding:10px;">
  5. <div>
  6. <a class="layui-btn" href="~/Admin/Blog/Add">
  7. <i class="layui-icon"></i> 添加
  8. </a>
  9. </div>
  10.  
  11. <table class="layui-table">
  12. <thead>
  13. <tr>
  14. <th>发布时间</th>
  15. <th>boke标题</th>
  16. <th>所属分类</th>
  17. <th>访问量</th>
  18. <th>排序号</th>
  19. <th>管理</th>
  20. </tr>
  21. </thead>
  22. <tbody>
  23. @foreach (var blog in Model)
  24. {
  25. <tr>
  26. <td>@blog.createdate.ToString("yyyy-MM-dd HH:mm")</td>
  27. <td>@blog.title</td>
  28. <td>@blog.caname</td>
  29. <td>@blog.visitnum</td>
  30. <td>@blog.sort</td>
  31. <td>
  32. <a style="margin-right:20px" href="~/Admin/Blog/Add/@blog.id">
  33. <i class="layui-icon"></i>
  34. 编辑
  35. </a>
  36. <a href="javascript:void()0;" onclick="del(@blog.id)">
  37. <i class="layui-icon"></i>
  38. 删除
  39. </a>
  40. </td>
  41. </tr>
  42. }
  43. </tbody>
  44.  
  45. </table>
  46. </div>
  47.  
  48. <script>
  49. /* 删除*/
  50. function del(id) {
  51. layui.use('layer', function () {
  52. var layer = layui.layer;
  53. var $ = layui.jquery;
  54. layer.confirm("是否确认删除?", function () {
  55.  
  56. var url = "/Admin/Blog/Del/" + id;
  57. $.post(url, function (data) {
  58. layer.alert(data, function () { location.reload(); });
  59.  
  60. })
  61.  
  62. })
  63. })
  64. }
  65.  
  66. </script>

Controller层代码:

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

Dal层代码:

  1. /// <summary>
  2. /// 查询
  3. /// </summary>
  4. /// <param name="cond">查询条件</param>
  5. /// <returns></returns>
  6. public List<Model.Blog> GetList(string cond)
  7. {
  8. // Dapper – Simple List
  9. using (var connection = ConnectionFactory.GetOpenConnection())
  10. {
  11. string sql = "select * from blog ";
  12. if (!string.IsNullOrEmpty(cond))
  13. {
  14. sql=sql+$" where{cond}";
  15. }
  16. var list = connection.Query<Model.Blog>(sql).ToList();
  17. return list;
  18. }
  19. }

我这里出现的错误是“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了。

VS2017一步一步断点调试解决Dapper语句出现的Bug的更多相关文章

  1. VS2010无法断点调试解决办法

    今天我的VS2010忽然出现设置断点的时候,无法进行调试.现象:每次在设置断点调试的时候都会出现卡机,然后VS弹出如下图所示的状况: 解决办法: 依次点击:“工具-->扩展管理器”然后找到.Ne ...

  2. 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置

    摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...

  3. 转:IDEA中如何使用debug调试项目 一步一步详细教程

    原文链接:http://www.yxlzone.top/show_blog_details_by_id?id=2bf6fd4688e44a7eb560f8db233ef5f7 在现在的开发中,我们经常 ...

  4. vscode加MinGw三步搭建c/c++调试环境

    vscode加MinGw三步搭建c/c++调试环境 step1:安装vscode.MinGw 1.1 vscod常规安装:https://code.visualstudio.com/ 1.2 MinG ...

  5. IDEA中如何使用debug调试项目 一步一步详细教程

    转载该文章:https://blog.csdn.net/yxl_1207/article/details/80973622 一.Debug开篇 首先看下IDEA中Debug模式下的界面. 如下是在ID ...

  6. 一步一步学习SignalR进行实时通信_3_通过CORS解决跨域

    原文:一步一步学习SignalR进行实时通信_3_通过CORS解决跨域 一步一步学习SignalR进行实时通信\_3_通过CORS解决跨域 SignalR 一步一步学习SignalR进行实时通信_3_ ...

  7. 一步一个坑 - WinDbg调试.NET程序

    引言 第一次用WinDbg来排查问题,花了很多时间踩坑,记录一下希望对后面的同学有些帮助. 客户现场软件出现偶发性的界面卡死现象一直找不出原因,就想着让客户用任务管理器生成了一个dump文件发给我,我 ...

  8. eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总

    每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 问题描述:eclipse打断点调试进入到class文件中,而且监视区不显示变量结果 是由于对应 ...

  9. MyEclipse断点调试不可用解决办法

    前言:MyEclipse中出现Debug调试不可用,断点处出现斜线.那么,如何解决此类问题? 1.打开myeclipse软件(版本不限) 2.设置断点,出现如下图所示情况,断点处出现斜线. 3.修改方 ...

随机推荐

  1. forfiles命令详解

    目录复制命令: xcopy   //server/bak/*.*    d:/serverbak /s /e /v /c / d /y /h             at 05:30 shutdown ...

  2. nginx limit_rate突然限速失败

    ##问题 nginx限制用户对指定目录的访问: <!-- lang: shell --> location ~ ^/(path001)/ { limit_rate 0k; limit_co ...

  3. JAVA中MAP转LIST

    @Test public void testMap2List() throws Exception{     Map<String, String> map = new HashMap&l ...

  4. Java面试——微服务

    1.什么是微服务?    就目前而言,对于微服务业界并没有一个统一的,标准的定义. 但通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分一组小的服务,每个服务运行在其独立 ...

  5. Properties集合概述与存和取

    Properties集合:(Map集合下的Hashtable集合下的一个子类) 特点: 1.集合中的键和值都是字符串 2.集合中的数据可以保存到流中,或者从流中获取 该集合通常用于操作以键值对形式存在 ...

  6. 控件_AnalogClock

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  7. 迷宫问题 dfs bfs 搜索

    定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...

  8. Java中关于AbstractQueuedSynchronizer的入门(一)

    备注:博文仅仅是学习过程中的零散记录,后期整理. AbstractQueuedSynchronizer的简单介绍可以网上搜索,简单了解字段作用. 示例代码,分析获取锁的过程: import java. ...

  9. Fermat vs. Pythagoras POJ - 1305 (数论之勾股数组(毕达哥拉斯三元组))

    题意:(a, b, c)为a2+b2=c2的一个解,那么求gcd(a, b, c)=1的组数,并且a<b<c<=n,和不为解中所含数字的个数,比如在n等于10时,为1, 2, 7,9 ...

  10. Python--Windows下安装虚拟环境

    为什么需要虚拟环境 在python开发中,我们可能会遇到一种情况:就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突.在这种情况之下,我们就需要一个工具能够将这两 ...