本文将和大家讨论一些关于找SQL 错误的问题。
现在的系统基本都是需要用到数据库的,既然用到数据库我们就要写SQL 脚本,常用的做法是现在Microsoft Sql Server Management Sudio写好调试好,然后贴到
代码中,但这样就能保证我们的SQL 脚本正常运行吗?那如果带参数的SQL 或存储过程出现问题呢?如果数据出现问题,我们应该怎么找出错误的SQL 呢?
带着这个疑问,开始我们今天的讨论。以前用代码和数据库打交道,出现数据问题,我们会打个断点一步一步的调试,就像这样:
先找出可能出错的SQL ,一步一步调试
,直到找出这个语句,然后贴到 数据库中执行 :
似乎这种方法的确能解决绝大多数情况,但是带参数的存储过程该怎么办呢,估计这也是多数程序员不爱用存储的原因之一吧(调试费劲).
其实微软已经给我我们一个很好用的跟踪调试工具Sql Server Profiler(事件查看器),这个工具可以全程跟踪数据库的变化,当然扣SQL、存储更不是问题了.
继续我们刚才简单的SQL的调试,看看在 Sql Server Profiler 中的状态:
是不是和我们刚才在代码中调试的SQL 结果一致.
调试存储才是我们使用它的最重要的目的之一,下面我们演示带参数存储过程的调试过程:
这样我们是不是很清楚的看到我们的数据库脚本,就连参数写的对不对我们都能一样看出来.
执行结果如下:
如果你想用一个存储达到上图红色圆圈的效果(字母数字组合,并按照数字自增)的效果,请参考
有了事件查看器,害怕找不出SQL 的错误吗,你是否乐意去写使用它了调试存储呢?
由于很多人不知道有这样一个工具存在,笔者特做了一些简单的介绍,如果帮助到你,别忘了推荐一下.