VS2017一步一步断点调试解决Dapper语句出现的Bug
最近再做一个项目,出现一个小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的更多相关文章
- VS2010无法断点调试解决办法
今天我的VS2010忽然出现设置断点的时候,无法进行调试.现象:每次在设置断点调试的时候都会出现卡机,然后VS弹出如下图所示的状况: 解决办法: 依次点击:“工具-->扩展管理器”然后找到.Ne ...
- 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置
摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...
- 转:IDEA中如何使用debug调试项目 一步一步详细教程
原文链接:http://www.yxlzone.top/show_blog_details_by_id?id=2bf6fd4688e44a7eb560f8db233ef5f7 在现在的开发中,我们经常 ...
- vscode加MinGw三步搭建c/c++调试环境
vscode加MinGw三步搭建c/c++调试环境 step1:安装vscode.MinGw 1.1 vscod常规安装:https://code.visualstudio.com/ 1.2 MinG ...
- IDEA中如何使用debug调试项目 一步一步详细教程
转载该文章:https://blog.csdn.net/yxl_1207/article/details/80973622 一.Debug开篇 首先看下IDEA中Debug模式下的界面. 如下是在ID ...
- 一步一步学习SignalR进行实时通信_3_通过CORS解决跨域
原文:一步一步学习SignalR进行实时通信_3_通过CORS解决跨域 一步一步学习SignalR进行实时通信\_3_通过CORS解决跨域 SignalR 一步一步学习SignalR进行实时通信_3_ ...
- 一步一个坑 - WinDbg调试.NET程序
引言 第一次用WinDbg来排查问题,花了很多时间踩坑,记录一下希望对后面的同学有些帮助. 客户现场软件出现偶发性的界面卡死现象一直找不出原因,就想着让客户用任务管理器生成了一个dump文件发给我,我 ...
- eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 问题描述:eclipse打断点调试进入到class文件中,而且监视区不显示变量结果 是由于对应 ...
- MyEclipse断点调试不可用解决办法
前言:MyEclipse中出现Debug调试不可用,断点处出现斜线.那么,如何解决此类问题? 1.打开myeclipse软件(版本不限) 2.设置断点,出现如下图所示情况,断点处出现斜线. 3.修改方 ...
随机推荐
- 【redis专题(3)】命令语法介绍之link
通过链表结构可以模仿队列结构与堆栈结构:关于队列结构和堆栈结构可以查看https://www.zybuluo.com/a5635268/note/290475 增 lpush key value1 v ...
- C# 异步编程3 TPL Task 异步程序开发
.Net在Framework4.0中增加了任务并行库,对开发人员来说利用多核多线程CPU环境变得更加简单,TPL正符合我们本系列的技术需求.因TPL涉及内容较多,且本系列文章为异步程序开发,所以本文并 ...
- 洗礼灵魂,修炼python(42)--巩固篇—type内置函数与类的千丝万缕关系
type函数的隐藏属性 相信大家都知道内置函数type是用来查看对象的数据类型的.例: 那比如我对int类查看类型呢? 有朋友会说,int是内置类啊,用自定义的应该不会这样,我们自定义一个类呢? 还是 ...
- EF 排序扩展
public static class LinqOrderEx { private static IOrderedQueryable<T> OrderingHelper<T>( ...
- Dos烧录脚本
Dos命令之前更改的太简单,现在加入判断是否进入fasboot模式和判断Android镜像是否存在:代码已经尽量简化成这样,dos命令功能还是比较不好用的,用了一下午的时间... @echo off ...
- Linux删除文件实现回收站功能
转载于 https://blog.csdn.net/u014057054/article/details/52126494 从事过服务器维护的人都知道rm.rm -rf 的厉害,执行起来一点也不马虎, ...
- MySQL面试题之如何优化一条有问题的SQL语句?
如何优化一条有问题的sql语句? 针对sql语句的优化.我们可以从如下几个角度去分析 回归到表的设计层面,数据类型选择是否合理 大表碎片的整理是否完善 表的统计信息,是不是准确的 审查表的执行计划,判 ...
- 4.7 Sublime Text3 中配置 Python环境 --之上安装Sublime 3
返回总目录 目录: 1.展示效果: 2.缺优分析: 3.下载Sublime Text3 (一)展示效果: 1.能够交互式编写Python代码: 2.可以编写文件式Python代码: 3.能够自动补齐代 ...
- UGUI 文字效果实现(Shadow\Gradient\Outline)
NGUI直接在UILabel组件中接入了Shadow.Gradient和outline选项,但在UGUI中是通过另外的组件单独提供,比如outline.shader等.这篇文章主要记录这几个文字效果实 ...
- Vue项目兼容IE浏览器
转载:https://blog.csdn.net/qq_24956515/article/details/77527668 Vue项目部署到服务器后,通常除IE浏览器外其他都正常,而IE浏览器会报这么 ...