以XX开头的标识符太长,最大长度为128

作者:超级管理员 更新时间:2017-09-13 09:58:27 来源:未知 点击:15642
本帖最后由qz6412525于2017-09-1212:09:14编辑如题,是一条sql server数据库插入语句,语句在数据库客户端上能跑通,但是拿到程序中运行就报错语句是通过XML文件写入的:j
本帖最后由 qz6412525 于 2017-09-12 12:09:14 编辑
如题,是一条sql server数据库插入语句,语句在数据库客户端上能跑通,但是拿到程序中运行就报错
语句是通过XML文件写入的:
jbupdate="update BRGL_JBXX set BH='@人员编号',XM='@姓名',XB='@性别',CSRQ='@出生日期',SFZBH='@身份证编号',SBLX='@医保类型',SBKH='@社保卡号',XZDZ='@现住地址',SJHM='@手机号码',LXDH='@联系人电话' where ID='@病人ID'"

报错如下:
以 'update BRGL_JBXX set BH='00579424',XM='董书源',XB='1',CSRQ='2004/7/10 9:19:17',SFZBH='371326200506080417',SBLX='',SBKH='@社保卡号',XZDZ' 开头的 标识符 太长。最大长度为 128。失败:"update BRGL_JBXX set BH='00579424',XM='董书源',XB='1',CSRQ='2004/7/10 9:19:17',SFZBH='371326200506080417',SBLX='',SBKH='@社保卡号',XZDZ='平邑',SJHM='13969904787',LXDH='13969904787' where ID='270586'"

后面的SQL语句在数据库里面是能正常执行的,求大佬解答为什么会报这样的错误。

以下是关于本问题的解决方案:

解决方案1、
去掉@试试,我觉得是...........
解决方案2、
调试一下吧,把你程序最后生成的sql语句显示出来,话说你这个是参数化?有单引号的会直接当成值了的
解决方案3、
参数,你不应该写单引号。
解决方案4、
引用 2 楼 chb345536638 的回复:
调试一下吧,把你程序最后生成的sql语句显示出来,话说你这个是参数化?有单引号的会直接当成值了的
那个报错里面的语句就是生成的SQL语句,拿到客户端能执行成功,所以找不出来是什么原因
解决方案5、
引用 3 楼 sp1234 的回复:
参数,你不应该写单引号。
你的意思是说直接用  @联系人电话  这样的吗?我试一下
解决方案6、
引用 5 楼 qz6412525 的回复:
Quote: 引用 3 楼 sp1234 的回复:

参数,你不应该写单引号。
你的意思是说直接用  @联系人电话  这样的吗?我试一下


单独说sql 语句的话,是要符合参数的基本形式的。这是仅仅看 sql 语法,而不是看你的应用实际。

假设你这个是 http 页面 url 参数之类的,那么又是另外一回事儿了。你要先把自己的问题的应用实际的调试画面贴出来,才知道你做了什么、正在做什么。否则你扔出了一个字符串,可能误导别人。
解决方案7、
比如说吧,所谓“拿到程序中报错”,那么抛出异常的代码的前后上下文代码呢?调试画面呢?
解决方案8、
sp1234说的对,
参数化设置,放到 sqlparameter中,是不需要在sql语句里设置单引号的。

解决方案9、
有很多种可能性,主要是因为你没有能贴出更详细一点的调试画面造成的。比如说你遇到了某种“存储过程”,它又跑到数据库系统里边去拼接字符串去了,而此存储过程有错,也是会出这个问题。

推荐阅读

热门内容

关于对文件名使用 string.Repl

这里我用replace()想要让文件名变...

wpf的keydown事件

页面只有这句话       ...

ASP.NET MVC验证表单

代码如下        [Require...

EasyUi Datagrid+Deta

各位牛人,有没有做过类似的功能效果,Ea...

c#串口程序界面卡死问题

 private void sp_Dat...

C# 判断一张图片是否是空白图片

平时做文件扫描存档,一般都是双面扫描.扫...

我在Winform中修改WebBrows

我在Winform中修改WebBrows...

c# 引用webservice 出现问题

我在浏览器浏览没问题就是在项目中添加服务...

有人这么黑易语言,连我都看不下去了

本帖最后由caozhy于2017-09-...

窗体加载时,代码未执行完就弹出了窗体

不知道是这样写不合理,还是我哪里写错了呢...

最新内容

关于对文件名使用 string.Replace() 没有作用 请教

这里我用replace()想要让文件名变成E:\CloudMusic\薛之谦 -...

以下代码实现的单例模式有什么缺陷?如果有,请做出你的修改!

public sealed class Singleton       stat...

wpf的keydown事件

页面只有这句话         

ASP.NET MVC验证表单

代码如下        [Required(ErrorMessage = "标题...

以XX开头的标识符太长,最大长度为128

本帖最后由qz6412525于2017-09-1212:09:14编辑如题,是一...

分部声明包含冲突的可访问性修饰符

代码如下:namespace ConstDefinitionLib{    pu...

关于 查询语句 中select 索引问题

string[] fruits = { "apple", "banana", "...

EasyUi Datagrid+DetailView 如何让他默认全部展开

各位牛人,有没有做过类似的功能效果,EasyUI DataGrid+Detail...

c#串口程序界面卡死问题

 private void sp_DataReceived(object sen...

浏览器内核问题

请问有谁会使用vs2013,用c#或vb编写在winform里面嵌一个谷歌浏览器...

LINQ to Entities 不识别方法“System.DateTime AddMinutes(Double)”,因此该方法无法转换为存储表达式。

代码如下,求大神帮忙看看:                    DateTim...

mvc 怎么执行mysql里的存储过程

我的连接是这样的。 public class mysqlconn : DbCon...

C# 判断一张图片是否是空白图片

平时做文件扫描存档,一般都是双面扫描.扫描之后,需要存档,有些背面空白的,需要剔...

我在Winform中修改WebBrowser控件修改User-Agent的方法貌似对WebkitBrowser无效,我已经修改为手机了

我在Winform中修改WebBrowser控件修改User-Agent的方法貌...

RawSocket抓包时,如果是正在传文件,则丢包严重的吓人

50M的文件传输,只抓到100-200KB。public void Run() ...

如何让Toast占满整个屏幕(包含状态栏)

本帖最后由sixsun1989于2017-09-1221:15:38编辑    ...

不熬夜看这里 苹果发布会直播全程回顾

        想必今天一早醒来,你的朋友圈和新闻头条一定都会被昨晚科技圈的大事...

网友心声有求必应 苹果同传四川话版

         在苹果秋季发布会开始前两周,我们针对网友喜欢听什么地方方言做过...

iPhone X演示出重大失误?背后另有真相

    中关村在线消息:苹果公司于美国西部时间9月12日上午10点(北京时间9月...

全视曲面商务旗舰 三星Note 8今晚发布

    中关村在线消息: 备受大家期待的三星新旗舰Note 8将于今晚18时在北...