none
用.net和Ajax操作长字符串报错的问题。 RRS feed

  • 问题

  • 我在作一个网站,但出现了一个奇怪的错误。我用的是SQL2005,在上面建立了一个数据库,我设了一个字段,类型为nvchar(500),在后来我发现长度不够用,加到了1200,可是,对存存储过程,ObjectDataSource之类的修改完之后,如果越过了800个汉字或者字母还是会报错,不能实现操作,我查了下,nvchar应当能保存4000个汉字的,为什么会报错呢?我想不出原因,请大家帮忙解释一下,有什么办法可以解决。先谢谢了。
    xiaojun
    2009年4月3日 12:14

答案

  • 这个问题我后来又检查了一下,不知道是不是我自己的VS才有这个问题,就是在更改数据库的字段长度以后,修改了存储过程了,也更新了相应的DataAdapter,但在DataSet的文件中,有一个地方并不能自动的修改,就如同这个错误一样,原来我设置的长度是500,后来我修改到1000了,有一部分却不会修改,所以才报错。
    xiaojun
    2009年4月8日 12:58

全部回复

  • 详细的错误是什么?你用ObjectDataSource的话,中间Entity类的长度限制修改了吗?
    Microsoft ASP.NET MVP
    2009年4月3日 15:11
    版主
  • 我用的是DataSet,没有用Entity,我又测试了一下,只能输入500个字符,能正确的存入、读取,如果越过了,能存入,但就不能正确的读取了。不知道是什么原因。请大家帮忙。
    xiaojun
    2009年4月3日 15:15
  • 用的是UpdatePanel更新,数据显示控件是ListView
    xiaojun
    2009年4月3日 15:16
  • 是否使用了强类型DataSet?你的DataTable上是否有Schema?Schema是什么时候更新的?
    2009年4月3日 22:26
  • 是否删除了UpdatePanel就正常了?具体的错误信息发上来吧。
    Microsoft ASP.NET MVP
    2009年4月4日 2:53
    版主
  • 把具体的错误信息发上来吧,存储过程有没有设置参数的Size属性。
    jon.valett@gmail.com
    2009年4月8日 3:54
    版主
  • 这个问题我后来又检查了一下,不知道是不是我自己的VS才有这个问题,就是在更改数据库的字段长度以后,修改了存储过程了,也更新了相应的DataAdapter,但在DataSet的文件中,有一个地方并不能自动的修改,就如同这个错误一样,原来我设置的长度是500,后来我修改到1000了,有一部分却不会修改,所以才报错。
    xiaojun
    2009年4月8日 12:58