保存到数据库时截断字段的错误该如何处理?立即揭帖!

zhfj001 2007-04-13 02:43:52
问题描述:
页面上有个textBox,对它的长度分别进行了前台和后台的验证,比如长度不能超过500,可是对于textBox的换行,在保存到数据库时也进行保存,所以,即使我的长度不超过500,可是保存时还是有错误提示说数据库溢出?

请问这个问题如何解决?
多谢!
...全文
217 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhfj001 2007-04-24
  • 打赏
  • 举报
回复
我找了一个函数来进行限制
问题解决了,揭帖
谢谢各位的支持和帮助
yudi010 2007-04-13
  • 打赏
  • 举报
回复
一个回车相当于两个字符的长度
mingwj1980 2007-04-13
  • 打赏
  • 举报
回复
if(System.Text.Encoding.Default.GetByteCount(textbox1.Text.Trim()) > 500)
zhfj001 2007-04-13
  • 打赏
  • 举报
回复
谢谢各位的指导,最终选择扩数据库的字段长度。
lxs5i5j 2007-04-13
  • 打赏
  • 举报
回复
数据库字段类型改成text,或者把长度比你判断的值500再适当大点
babyrockxray 2007-04-13
  • 打赏
  • 举报
回复
if(System.Text.Encoding.Default.GetByteCount(textbox1.Text.Trim()) > 500)
{
}
BookSirSwordsMan 2007-04-13
  • 打赏
  • 举报
回复
差点误人子弟了,哎
BookSirSwordsMan 2007-04-13
  • 打赏
  • 举报
回复
if(System.Text.Encoding.Default.GetByteCount(事由.Text.Trim().ToCharArray())>500)
{
d8zone20.WebPage.Alert.AlertOnly(this,"事由500字以内!");
return false ;
}
mych9679 2007-04-13
  • 打赏
  • 举报
回复
上面的代码判断本来就没用htmlEncode阿,你的判断this.T_事由.Text.Trim().Length>500使用了吗?应该判断count>500 才算使用了
BookSirSwordsMan 2007-04-13
  • 打赏
  • 举报
回复
int count=Server.HtmlEncode(事由).Length;
if(System.Text.Encoding.Default.GetByteCount(事由.Text.Trim().ToCharArray())>500)
{
d8zone20.WebPage.Alert.AlertOnly(this,"事由500字以内!");
return false ;
}

刚才多了个;
BookSirSwordsMan 2007-04-13
  • 打赏
  • 举报
回复
int count=Server.HtmlEncode(事由).Length;
if(System.Text.Encoding.Default.GetByteCount(事由.Text.Trim().ToCharArray());>500)
{
d8zone20.WebPage.Alert.AlertOnly(this,"事由500字以内!");
return false ;
}
BookSirSwordsMan 2007-04-13
  • 打赏
  • 举报
回复
晕倒,不能直接用Length呀,看看下面的示例

string sString = "大家好sdafa";
int charCount = System.Text.Encoding.Default.GetByteCount(sString.ToCharArray());
return charCount.ToString();
zhfj001 2007-04-13
  • 打赏
  • 举报
回复
大家帮帮忙
zhfj001 2007-04-13
  • 打赏
  • 举报
回复
我使用htmlencode了,可是和没有使用时一样长,看我哪里出错了?
int i=事由.Length;
int count=Server.HtmlEncode(事由).Length;
if(this.T_事由.Text.Trim().Length >500)
{
d8zone20.WebPage.Alert.AlertOnly(this,"事由500字以内!");
return false ;
}
mych9679 2007-04-13
  • 打赏
  • 举报
回复
楼上不是说了吗。htmlencode 转换,然后判断长度是否大于500,不过这样有效字符就不到500了,或许有很多 回车 换行等字符也算在内了。
如果数据库的字段类型允许改,把数据类型改成text就可以了,不能改就处理你的输入字符串吧, 把特殊字符都处理掉
zhfj001 2007-04-13
  • 打赏
  • 举报
回复
大家给点意见阿,谢谢
zhfj001 2007-04-13
  • 打赏
  • 举报
回复
如果数据库限定了500,那么就要把回车等字符算上,而且如果有htmlencode等方法转换过了,要判断转换后的字符的总数不要超过500
————————————————————————————
如何才能把回车等算上?请明示。
117hn 2007-04-13
  • 打赏
  • 举报
回复
同意楼上的,回车的话实际上也是有几个字符组成的不过在html并不显示出来,你如果要存到数据库里面在取出来的话,你就可以看到了,这些也要算进入的。
weizhuangzhi 2007-04-13
  • 打赏
  • 举报
回复
如果数据库限定了500,那么就要把回车等字符算上,而且如果有htmlencode等方法转换过了,要判断转换后的字符的总数不要超过500
shoiaf 2007-04-13
  • 打赏
  • 举报
回复
難道是在資料庫中的長度設置沒夠?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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