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

qz6412525 2017-09-12 12:06:44
如题,是一条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语句在数据库里面是能正常执行的,求大佬解答为什么会报这样的错误。
...全文
457 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qz6412525 2017-09-12
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
参数,你不应该写单引号。
你的意思是说直接用 @联系人电话 这样的吗?我试一下
qz6412525 2017-09-12
  • 打赏
  • 举报
回复
引用 2 楼 chb345536638 的回复:
调试一下吧,把你程序最后生成的sql语句显示出来,话说你这个是参数化?有单引号的会直接当成值了的
那个报错里面的语句就是生成的SQL语句,拿到客户端能执行成功,所以找不出来是什么原因
  • 打赏
  • 举报
回复
参数,你不应该写单引号。
  • 打赏
  • 举报
回复
调试一下吧,把你程序最后生成的sql语句显示出来,话说你这个是参数化?有单引号的会直接当成值了的
lkf181 2017-09-12
  • 打赏
  • 举报
回复
去掉@试试,我觉得是...........
  • 打赏
  • 举报
回复
有很多种可能性,主要是因为你没有能贴出更详细一点的调试画面造成的。比如说你遇到了某种“存储过程”,它又跑到数据库系统里边去拼接字符串去了,而此存储过程有错,也是会出这个问题。
正怒月神 2017-09-12
  • 打赏
  • 举报
回复
sp1234说的对, 参数化设置,放到 sqlparameter中,是不需要在sql语句里设置单引号的。
  • 打赏
  • 举报
回复
比如说吧,所谓“拿到程序中报错”,那么抛出异常的代码的前后上下文代码呢?调试画面呢?
  • 打赏
  • 举报
回复
引用 5 楼 qz6412525 的回复:
引用 3 楼 sp1234 的回复:
参数,你不应该写单引号。
你的意思是说直接用 @联系人电话 这样的吗?我试一下
单独说sql 语句的话,是要符合参数的基本形式的。这是仅仅看 sql 语法,而不是看你的应用实际。 假设你这个是 http 页面 url 参数之类的,那么又是另外一回事儿了。你要先把自己的问题的应用实际的调试画面贴出来,才知道你做了什么、正在做什么。否则你扔出了一个字符串,可能误导别人。
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧