Debug SQL Easily by Charles Carroll

原创 2005年05月20日 09:58:00

This page demonstrates how you can format a SQL statement to help pinpoint common errors. Common errors are discussed @

Common SQL Errors
http://www.learnasp.com/learn/dbtroubleshoot2.asp

Syntax Error in SQL Statement
http://www.learnasp.com/learn/FAQdbSQLSyntax.asp

by encapsulating ADO error trapping and display the SQL in an attractive form that separates components onto separate lines and makes debugging simpler (missing commas, single-quotes and like).

<Test Script Below>

<html><head>
<title>debug2.asp</title>
</head><body bgcolor="#FFFFFF">
<%
on   error resume next
myDSN = "DSN=Student;uid=student;pwd=magic"
Set Conn = Server.CreateObject("ADODB.Connection")
conn.open myDSN

SQL="update test set fname='Ted',lname='Wilson',city='Rockville',state='MD',zip='20849',rank=7,datehire='1/15/92', SSN='219-92-2677' WHERE personid=7"
Conn.Execute SQL,howmany
IF  howmany="" THEN
   howmany=0
END IF
response.write "Affected <b>" & howmany & "</b> records<br>"
Call SQLerrorreport(SQL,conn)

SQL="Insert Into junk (fname,lname,city,state,zip,rank,datehire,ssn) VALUES ('ted','wilson','rockville', 'md', '20849',7,'1/15/92','219-92-2677')"
Conn.Execute SQL,howmany
IF  howmany="" THEN
   howmany=0
END IF
response.write "Affected <b>" & howmany & "</b> records</b><br>"
Call SQLerrorreport(SQL,conn)

Conn.Close
set conn=nothing
%>

</body></html>
<!--#include file="lib_debug2.asp"-->

The library that does the work:

<%
SUB SQLErrorReport(parmSQL,parm_conn)
   HowManyErrs=parm_conn.errors.count
   IF HowManyErrs=0 then
      exit sub
   END IF
   pad="&nbsp;&nbsp;&nbsp;&nbsp;"
   lb="<br>" & vbcrlf
   comma="<font color=red>"
   squote="<font color=blue>"
   response.write "ADO Error(s) executing:<br>"
   for counter= 0 to HowManyErrs-1
      errornum=parm_conn.errors(counter).number
      errordesc=parm_conn.errors(counter).description
      response.write pad & "Error#=<b>" & errornum & "</b><br>"
      response.write pad & "Error description=<b>"
      response.write errordesc & "</b><p>"
   next
   SQLstmt=parmSQL
   SQLstmt=replace(SQLstmt,",", "<b>" & comma & ",</b></font>" & lb)
   SQLstmt=replace(SQLstmt,"'","<b>" & squote & "'</b></font>")
   SQLstmt=replace(SQLstmt,"(",lb & "(")
   SQLstmt=replace(SQLstmt,"set",lb & "set" & lb)
   SQLstmt=replace(SQLstmt,"SET",lb & "SET" & lb )
   SQLstmt=replace(SQLstmt," where ",lb & " where " & lb)
   SQLstmt=replace(SQLstmt," WHERE ",lb & " WHERE " & lb )
   
   SQLstmt=replace(SQLstmt,")",")" & lb)
         response.write "SQL statement attempted:<br>"
         response.write SQLstmt & "<br>"

END SUB
%>

Charles调试Https

3.10之后, 安装~/Library/Application Support/Charles/ca/charles-proxy-ssl-proxying-certificate.crt3.10之前,...
  • tuhuolong
  • tuhuolong
  • 2015年10月16日 17:51
  • 2237

http调试工具Charles Proxy用法详解

Charles Proxy 通常称为Charles,Charles是目前最强大的http调试工具,在界面和功能上远强于Fiddler,同时是全平台支持,堪称圣杯级工具,不过在这里为您提供了Charle...
  • sxjing11
  • sxjing11
  • 2016年07月14日 16:22
  • 3937

charles实现app调试

前提 手机和本地服务器接的同一个网,不然无法识别内网地址进行转发 1.安装charles并信任根证书 2.添加代理的网站 3.设置map规则,将对app的访问map到本地server而不是...
  • weixin_41571449
  • weixin_41571449
  • 2018年01月24日 01:57
  • 29

密码学:加密基础

加密基础怕不是得重新再学一遍,加油吧,耐心Festinatione facit vastum 溯回传送器 MXDXBVTZWVMXNSPBQXLIMSCCSGXSCJXBOVQXCJZMOJZC...
  • weixin_38034182
  • weixin_38034182
  • 2017年08月20日 16:09
  • 292

对抗样本论文学习:Deep Neural Networks are Easily Fooled

近日看了一些对抗样本(adversarial examples)方面的论文,在这里对这些论文进行一下整理和总结。 以下仅代表个人理解,本人能力有限难免有错,还请大家给予纠正,不胜感激。欢迎一起讨论进步...
  • Coco_Q
  • Coco_Q
  • 2017年11月14日 20:16
  • 134

PL/SQL Debug

PL/SQL Developer中如何调试oracle的存储过程   1.   打 开PL/SQL Developer 如果 在机器上安装了PL/SQL Developer的话,打 开PL...
  • ganxiandong
  • ganxiandong
  • 2014年01月15日 23:33
  • 1373

在SQL Developer中Debug一个procedure

与调试Java程序类似,在SQL Developer中,可以设置断点,一步步跟踪,观察变量值等。 需要注意几点: 1. 在编译时选择-Compile for debug。 在创建procedure...
  • chncaesar
  • chncaesar
  • 2013年12月16日 10:19
  • 2434

Charles 抓包,服务器压力测试

目录与版权 转载请保留顶部的 Charles 中国特惠内容,本文的内容主要包括: Charles 的简介如何安装 Charles将 Charles 设置成系统代理Charles 主界面...
  • u012847940
  • u012847940
  • 2016年09月01日 09:10
  • 2029

Charles 抓包使用教程

转自:http://blog.csdn.net/mingzznet/article/details/51818303 charles使用教程 Charles 的简介 如何...
  • Jason_chen13
  • Jason_chen13
  • 2017年01月24日 10:50
  • 6050

Charles的安装及简单实用

Charles是用于进行https的请求和相应的监听工具,如果只是简单地进行请求,这个工具是可以监听到请求结果和响应结果的。 工具下载地址:http://www.charlesproxy.com/d...
  • zouchengxufei
  • zouchengxufei
  • 2016年05月18日 11:18
  • 4979
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Debug SQL Easily by Charles Carroll
举报原因:
原因补充:

(最多只允许输入30个字)