asp.net中过长数据插入数据库报错,大家怎么处理?

yang_kun 2008-09-22 10:26:59
比如数据库中定义一个字段长度为10,插入数据长度大于10,此时数据库就会报错....能把报错信息弄的友好些吗?大家讨论下....
...全文
301 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
panw520 2008-09-25
  • 打赏
  • 举报
回复
应在页面控制让用户输入只能输入10字符,多了提示用户输入多了
zl58859173 2008-09-25
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 lovehongyun 的回复:]
引用楼主 yang_kun 的帖子:
比如数据库中定义一个字段长度为10,插入数据长度大于10,此时数据库就会报错....能把报错信息弄的友好些吗?大家讨论下....


验证输入的数据不能超过数据库字段的长度.

写数据的时候要try,catch
[/Quote]

最好在客户端做验证。。
hanqingyu 2008-09-25
  • 打赏
  • 举报
回复
C# codepublic class Utility
{
private Utility() { }

/// <summary>
/// 安全的字符串
/// </summary>
public static string InputText(string text, int maxLength)
{
text = text.Trim();
if (string.IsNullOrEmpty(text))
return string.Empty;
if (text.Length > maxLength)
text = text.Substring(0, maxLength);
text …

正确
海洋齐齐 2008-09-25
  • 打赏
  • 举报
回复
表单控制,比如验证控件
尐孑 2008-09-25
  • 打赏
  • 举报
回复

C# codepublic class Utility
{
private Utility() { }

/// <summary>
/// 安全的字符串
/// </summary>
public static string InputText(string text, int maxLength)
{
text = text.Trim();
if (string.IsNullOrEmpty(text))
return string.Empty;
if (text.Length > maxLength)
text = text.Substring(0, maxLength);
text …
  • 打赏
  • 举报
回复
用try-catch做异常处理
尐孑 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 huangshihu1 的回复:]
限制输入的字符个数

或截取字段长度

用try catch也可呀
[/Quote]

benbenkui 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 cco3322 的回复:]
8个字:

错,不入库

入库,不错!
[/Quote]
有理
namhyuk 2008-09-24
  • 打赏
  • 举报
回复
一个EnableViewState=false的Label里显示错误提示。在DetailsView.ItemInserted或FormView.ItemInserted里捕捉e.Exception。
鲁虾 2008-09-24
  • 打赏
  • 举报
回复
好几道工序提供控制,别让数据库给你反馈了!
s32702 2008-09-24
  • 打赏
  • 举报
回复
先用JavaScript做验证啊
为梦去奋斗 2008-09-24
  • 打赏
  • 举报
回复
你控制让用户输入只能输入10字符,多了提示用户输入多了
kingcsx666 2008-09-24
  • 打赏
  • 举报
回复
设置TextBox的MaxLength比数据库的字段短

尽量把数据库设计长点

异常处理
mengxj85 2008-09-23
  • 打赏
  • 举报
回复
这个我也碰到过,SQL2005,有时超过,数据库服务器自动截掉,有时就报错,一直也没有找到原因,Textbox有控件字长的功能哦, 楼主可以在Textbox设置属性不让用户添加过长的数据
cong1212 2008-09-23
  • 打赏
  • 举报
回复
最简单的方法用try-Catch,在数据做插入时会出现异常,把catch里的throws去掉,输出你的友好提示方式
NqIceCoffee 2008-09-23
  • 打赏
  • 举报
回复
入库前的数据验证应该是老生常谈的话题了吧
fuzijing 2008-09-23
  • 打赏
  • 举报
回复
不要用户输入完成以后处理,
请问谁愿意看到自己好不容易输入的东西又要把它重复写一次呢?
用户输入完成前,最好有限制或者提示

text的话,有最大值属性
livesw 2008-09-23
  • 打赏
  • 举报
回复
1。提示超出(可以自己写个代码生成器自动生成这方面提示)
2。使用参数传值,限定长度,将自动截断 new SqlParameter("@Title", SqlDbType.NVarChar, 10);
jin225 2008-09-23
  • 打赏
  • 举报
回复
catch()
{
跳转到友好页面 ok
}
syc958 2008-09-23
  • 打赏
  • 举报
回复
这个主要是在两个方面来处理!1:规定数据长度时你要有预见性的!预见这个字段一般会有多长!二是在用户输入的时候对用户超长的时候做提示并处理!你总不能把问题留到执行数据库插入的时候吧!那样太不人性化了!也必定会让用户着实的恼火一把!请问谁愿意看到自己好不容易输入的东西又要把它重复写一次呢?
加载更多回复(32)

62,073

社区成员

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

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

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

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