最近再做一个项目,出现一个小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了。

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. (后台)详细了解java中的null(转)

    转自CSDN: 相信大家对于NullPointException 这个让人又爱又恨的不陌生吧..对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰 .今天我们就来谈 ...

  2. DB2表被锁,如何解锁

    原因与解决方案 1.原因:修改表结构表结构发生变化后再对表进行任何操作都不被允许,SQLState为57016(因为表不活动,所以不能对其进行访问),由于修改了表字段权限,导致表处于不可用状态 2.解 ...

  3. Linux的命名空间详解--Linux进程的管理与调度(二)【转】

    Linux Namespaces机制提供一种资源隔离方案. PID,IPC,Network等系统资源不再是全局性的,而是属于特定的Namespace.每个Namespace里面的资源对其他Namesp ...

  4. 3.5Python数据处理篇之Numpy系列(五)---numpy文件的存取

    目录 目录: (一)以文本形式存取 1.说明: 2.语法解释: 3.实例(以.csv文件为例) 4.效果展示 (二)以任意的形式存取 1.说明: 2.语法解释: 3.实例(以.bat二进制文件为例) ...

  5. 07LaTeX学习系列之---Latex源文件的结构

    目录 目录: (一)Latex源文件的结构: (二)基础语法: 2.空行: 3.document: 4.数学公式: 5.latex的文件格式分类: 目录: 本系列是有关LaTeX的学习系列,共计19篇 ...

  6. 八皇后问题的Python实现和C#实现

    看到八皇后问题的解决思路, 感觉很喜欢. 我用C#实现的版本之前贴在了百度百科上(https://baike.baidu.com/item/%E5%85%AB%E7%9A%87%E5%90%8E%E9 ...

  7. 2个Excel表格核对技巧

    技巧1.利用Spreadsheet Camprare一秒钟识别差异数据 如下图所示,我们如何快速比对我们自己做的表格和上司修改后的表格的差异呢?这里首先来介绍一个非常棒的工具:Spreadsheet ...

  8. 使用hint优化Oracle的运行计划 以及 SQL Tune Advisor的使用

    背景: 某表忽然出现查询很缓慢的情况.cost 100+ 秒以上:严重影响生产. 原SQL: explain plan for select * from ( select ID id,RET_NO ...

  9. zip 的 压缩与解压

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xiananliu/article/details/23993481 zip格式是开源的相比rar格式 ...

  10. vs2012中如何显示代码行号

    打开一个项目,里面没有显示行号   打开工具-选项   选择文本编辑器-C#   在行号前面上打钩   点击确定,就可以看到代码前面显示出行号 6 还可以按此办法添加其他类型文件的代码行号