如何解决异常

dongggua 2012-01-15 09:57:29
string strSqls2;
strSqls2 = string.Format(@"update VDMJX set [信噪比(dB)]=substring([信噪比(dB)],1,charindex('*',[信噪比(dB)])-1) ");
SqlCommand mycmd2 = new SqlCommand(strSqls2, myConnection);
mycmd2.ExecuteNonQuery();
string strSqls;

这句SQL 是要实现将*号前面的数据提取出,第一次可以,但是再次执行没有*号时会跳出异常“向 substring 函数传递了无效的 length 参数。
语句已终止。”不知道该如何解决这个错误呢?
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongggua 2012-01-15
  • 打赏
  • 举报
回复
错误原因呢我知道。可是有什么方法解决呢?不-1娶不到我要的值
[Quote=引用 1 楼 cpio 的回复:]

substring函数第3个参数表示要取的字符串长度,当这个值小于0时,会报参数错误。

因为charindex('*',[信噪比(dB)])在[信噪比(dB)]中不存在*时,返回0,再减1就为-1了,所以出错
[/Quote]
cpio 2012-01-15
  • 打赏
  • 举报
回复
substring函数第3个参数表示要取的字符串长度,当这个值小于0时,会报参数错误。

因为charindex('*',[信噪比(dB)])在[信噪比(dB)]中不存在*时,返回0,再减1就为-1了,所以出错

110,534

社区成员

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

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

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