• 新阁上位机开发——这四个错误,90%的人都有遇到过


    前言

    今天跟大家分享一下,我们初学者在做上位机开发中,关于SQL语句的四种常见的语法错误。

    常见错误1

    错误提示:“(”附近有语法错误。

    《C#程序》的错误提示:

    解决方案

    【问题分析】:只要是有SQL语句的地方,提示“附近有语法错误的”解决方法都是一个思路,那就是调试SQL语句!所谓调试SQL语句,就是运行程序,在错误出来后,不要停止程序,直接观察SqlCommand对象里面封装的sql语句具体是什么,比如我们观察:

    把鼠标放到sql上面,然后点击“放大镜”图标,选择“文本可视化工具”,打开窗口:

    技巧,刚才提示是“(”附近有语法错误,那“(”在哪里?很显然Sql语句里面只有into和values后面有“(”,那我们观察一下values也没写错,括号里面的也没有错误。那就在看into后面,发现into后面应该是有“表名称”结果没写,所以,就出错误了。通过这个我们就能得出技巧,所谓“****”附近有语法错误,就是找到这个符号,然后看他的前后部分,仔细看,肯定能发现问题。

    【其他技巧】:我们观察sql语句变量,也可以通过窗口的“局部变量”找到sql,然后点击放大镜来观察。

    【问题解决】:找到问题后,我们只要改成如下就行了:

    常见错误2

    错误信息02:“,”附近有语法错误。

    《C#程序》的错误提示:

    解决方案

    【问题分析】:上面说逗号附近有语法错误,解决问题的方式还是上面的方法,调试Sql如下:

    这时候一定要仔细,因为“,”很多,前面字段名后面的逗号一般没问题,那你就看values后面的逗号,如果你细心的话,你会发发现,原来“韩老师”前面少了半个单引号“'”,你给它填上就解决了。如果你说我就看不出来,还有办法,你把上面的sql语句复制到数据库中去观察,效果如下:

    这样就很清楚了。第一个“韩老师”那里就划线了。至于说后面的划线,不用担心,有时候前后会有影响,找问题,一定要从第一个错误地方修改,修改后,其他错误可能就没有了,比如下面的效果:

    【问题解决】:知道了问题,接下来去C#程序修改就行了。

    常见错误3

    错误信息03:“’”附近有语法错误。《C#程序》的错误提示:

    解决方案

    【解决方法】:这个问题我们就不在多说了,就是刚才修改的时候,把“半角的单引号”改成了“全角的单引号”,在这里特别提醒大家,写SQL语句的时候,所有的内容,都必须是“英文半角”状态才行!所以,遇到这种问题,一定要自己检查。

    【特别提示】:我们前面一直强调“调试SQL语句”,一定要通过sql变量观察,得到SQL语句,而不能直接复制C#程序中的原始代码,有的学员说,我复制代码过来了,在数据库中能执行啊,为啥还有错误?请你记住,你能在数据库中执行的sql语句,在C#程序里面提交永远都不可能出错!唯一可能错误的就是你用的方法不对,你测试的sql语句,根本就不是调试后,生成的SQL语句!

    常见错误4

    错误信息04:“EmployeeId”附近有语法错误。《C#程序》的错误提示:

    解决方案

    【问题分析】:同样都是附近有语法错误,这个问题解决,如果你只是看,初学者可能还是没法直接看出来,所以,还是用我们讲的调试SQL语句出来,看看EmployeeId的前后,具体是什么,调试结果如下:

    【问题解决】:很明显,where和前面的表名连接到一块了,缺少了空格,我们只需要在where前面添加一个空格就行了,如下:

    整体总结

    以后凡是见到“附近有语法错误”的情况下,同时检查sql语句拼接的时候,前后空格问题。这个是初学者经常犯的错误。

    我是新阁上位机开发的晓晓老师,用我的专业,成就你的梦想!

  • 相关阅读:
    自定义sql server 聚合涵数
    EF CodeFirst学习笔记004--足够聪明
    EF CodeFirst学习笔记003--如何创建表
    EF CodeFirst学习笔记002--更新数据库表
    EF CodeFirst学习笔记001--主键约定
    SQL Server 2008中SQL增强之一:Values新用途 001
    SQLServer 学习笔记 序
    设计模式之单例模式
    如何控制数据库表中的某个字段的权限
    利用ResultFilter实现asp.net mvc3 页面静态化
  • 原文地址:https://www.cnblogs.com/xiketang/p/16137140.html
Copyright © 2020-2023  润新知