错误信息如下:

“System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生

其他信息: “”附近有语法错误。

文字版代码如下:

 sqlCmd.CommandText =],dataOfItem[],dataOfItem[]);

  sqlCmd.ExecuteNonQuery();

可以看出,出错的地方就是那一句SQL语句。

既然是SQL语句的问题为何不贴进SQL里去调试一番呢?

于是和我便从从程序出错时提取出出错的那句SQL语句。

Ctrl+c、Ctrl+V,我将它原原本本的复制到了SQL Server Management Studio里。

F5运行。

经过一番修改,确认是括号问题,重新输入一遍括号后,数据成功入库。

看起来现在只是括号的半角和全角问题,可惜我错了。

Ctrl+c、Ctrl+V,我将修改后的符号原原本本的复制到了Microsoft Visual Studio里。

继续报错。

随后我又经行了如下尝试,均无果。

1、将String.Format()方法更换成String的加号运算符重载。

2、将从Visual Studio 2012更换成2015。

3、将.Net 框架从4.6.1更换为4.5。

4、重启SQL Server 实例。

5、重启计算机。

6、把NAME字段的类型设置为nvarchar 。(感谢刘宏玺的建议)

7、在SQL语句下添加;(感谢贫民窟大侠的建议)

8、使用String.Trim()方法。

9、使用Object.Replace()替换括号。

唯一成功过的一次是我把SQL语句手动打一遍,像这样:

 sqlCmd.CommandText ="insert into [dbo].[Table4Test]([ID],[Name],[Password])values(0,'吴静钰','1')";

 sqlCmd.ExecuteNonQuery();

问题看似出在了字符串合并上。

根据runliuv的建议,我用File.AppendAllText()方法导出了SQL 语句的文本,并将notepad++软件设为显示所有符号。

把NotePad++用ANCI编码将文件重新打开,看到了异常。

对比前面的那张图看到,第一个values后面的字符“1”乱码了。

于是,我把该字符在UTF8编码格式重新打开并复制到了一个新的TXT文件当中,用十六进制查看器对其与ANCI和UTF8无ROM编码进行对比。

(UTF8编码格式)

(UTF8无ROM编码、ACNI编码)

解决方法:

用Notepad++软件将数据源的UTF8编码格式转化为UTF8无ROM。

感谢runliuv

(他所提供的方法是正确的,打开显示所有字符是最有效的方法,但是我在执行上出了问题。)

总结:

“人们总是看到自己所愿意看到的东西”

在遇到解决不了BUG的时候,不妨从头想想,看看自己所忽略掉的细节。因为人们常常会忽略掉一些显而易见的细节,不断自我欺骗,让事情的走向看似向着我们所笃行的方向前进。

修补漏洞如此,为人处事亦是如此。

【已解决】C#中往SQLServer插入数据时遇到BUG的更多相关文章

  1. Mysql中Innodb大量插入数据时SQL语句的优化

    innodb优化后,29小时入库1300万条数据 参考:http://blog.51yip.com/mysql/1369.html 对于Myisam类型的表,可以通过以下方式快速的导入大量的数据: A ...

  2. sqlserver 插入数据时异常,仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXXXX.dbo.XXXXXXXXX'中的标识列指定显式值。

    INSERT INTO XXXXXXXXX.dbo.XXXXXXXXX select * from XXXXXXXXX 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'X ...

  3. 解决java在对MySQL插入数据时出现乱码问题

    1.在连接数据库的时候请注意, 最使用连接连接数据库的时候,必须在后面追加上编码的设置:useUnicode=true&characterEncoding=UTF-8,如下图所示. 参考连接: ...

  4. AGS中通过FeatureServer插入数据失败、插入数据在WMTS请求中无法显示以及version概念的讨论

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在多个项目中,当我方接口给其他部门人员使用时出现了插入数据失 ...

  5. (转)MySQL 插入数据时,中文乱码问题的解决

    MySQL 插入数据时,中文乱码问题的解决  原文:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当向 MySQL 数据库插 ...

  6. 在MyBatis中查询数据、涉及多参数的数据访问操作、插入数据时获取数据自增长的id、关联表查询操作、动态SQL、关于配置MyBatis映射没有代码提示的解决方案

    1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后, ...

  7. QStandardItemModel的data线程安全(在插入数据时,临时禁止sizeHint去读model中的data)

    版权声明:本文为博主原创文章,欢迎转载,转载请注明出处 https://blog.csdn.net/MatchYang/article/details/52988257 在直接使用QStandardI ...

  8. 在论坛中出现的比较难的sql问题:44(触发器专题 明细表插入数据时调用主表对应的数据)

    原文:在论坛中出现的比较难的sql问题:44(触发器专题 明细表插入数据时调用主表对应的数据) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决 ...

  9. 触发器修改后保存之前的数据 表中插入数据时ID自动增长

    create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...

随机推荐

  1. Linux多线程实践(2) --线程基本API

    POSIX线程库 与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以"pthread_"开头,要使用这些函数库,要通过引入头文<pthread.h>,而且链 ...

  2. Linux IPC实践(1) -- 概述

    进程的同步与互斥 进程同步: 多个进程需要相互配合共同完成一项任务. 进程互斥: 由于各进程要求共享资源,而且有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥;系统中某些 ...

  3. 【leetcode82】Linked List Cycle

    题目描述: 判断有序list是不是环 要求: 时间复杂度o(n) 原文描述: Given a linked list, determine if it has a cycle in it. Follo ...

  4. 【LaTeX排版】LaTeX使用--入门基础<一>

    经过两个多星期,毕业论文终于写完了.由于自己对Word软件并不是很熟悉,再加上在数模时见识过LaTex的强大之处,于是就决定用LaTex进行论文的排版.使用LaTex可以避免像Word那样换台机器而出 ...

  5. Android服务器——TomCat服务器的搭建

    Android服务器--TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实t ...

  6. Unity Singleton 单例类(Unity3D开发之二十)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/47335197 ...

  7. The 14th tip of DB Query Analyzer

      The 14th tip of DB Query Analyzer Ma Genfeng (Guangdong Unitoll Services incorporated, Guangzhou 5 ...

  8. OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)

    首先参照下面这里进行opencv x64位机器下面的配置 http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85O ...

  9. html的meta标签

    meta是一个空元素,没有结束标签:meta元素可以附带8个属性,其中4个是通用属性-–dir,lang,xml:lang和title,其他4个是meta特有的属性: schema,name,cont ...

  10. 【个人学习笔记】走近H5

    一.HTML5概述 1.HTML5新特性 兼容性(ie9+).合理性.效率.安全性.分离.简化.通用性.无插件 2.HTML5构成 主要包括下面这些功能:Canvas(2D和3D).Channel消息 ...