string类型的变量有没有长度的限制,到底有多长?

zylt 2008-07-22 10:29:05
我在程序中定义了string类型的变量,用session把值传到下一个页面,存于数据库中。但是当变量赋值长的时候总是提示我“SQL ResultSet Exception[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将截断字符串或二进制数据。”。数据库字段我定义的是varchar类型,长度远远大于我提交的字符长度。如果信息少的话一切正常,这是怎么回事呀?

有时我提交的信息中包含数字信息,还会提示我“SQL ResultSet Exception[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将 varchar 值 '8226;1999,75~478. [2] 2007,16(6):128~132. ' 转换为数据类型为 int 的列时发生语法错误。”


这又是怎么回事,困扰中,请知道的人给我帮助。
...全文
537 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZangXT 2008-07-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zylt 的回复:]
应该如何解决呢?我又不可以限制用户提交的信息中包含引号。
[/Quote]
获得字符串之后你可以把里面的引号换成其他符号,需要处理的时候再换回来.比如你可以使用$,@ 等特殊字符.
yanjing_mail 2008-07-23
  • 打赏
  • 举报
回复
varchar类型好像最大是4000还是8000,不是想定义多大它就多大的
zylt 2008-07-23
  • 打赏
  • 举报
回复
应该如何解决呢?我又不可以限制用户提交的信息中包含引号。
ytl_zlq 2008-07-22
  • 打赏
  • 举报
回复
不能有引号的,那样在提交T/SQL语句时,它会以为是两个字符处理。就会出现自动截断现象
ZangXT 2008-07-22
  • 打赏
  • 举报
回复
我传过上千个字符,没有问题。但是字符串中的引号可能会导致一些问题。
xql80329 2008-07-22
  • 打赏
  • 举报
回复
长度是有限制的. 多少忘记了.
你查一下吧
ZX_ARES 2008-07-22
  • 打赏
  • 举报
回复
为什么要把session的值传到下个页面呢?你不退出的话,下个页面一样能用session呀!
zylt 2008-07-22
  • 打赏
  • 举报
回复
string类型的变量应该可以赋给很长的字符变量,不会是它的问题。问题是不是session上,session传值是否有长度的限制?

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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