C#一个极其恶心的问题

kylin__2000 2006-11-08 07:05:52
为什么在做数据库操作的时候非要定义字段长度,没见过有什么高级语言有这么bt的用法。
OleDbCommand comm = new OleDbCommand(insertCommand, conn);
comm.Parameters.Add("F_Addr", OleDbType.VarChar, 50);
为什么非要加50这个数字??个人觉得这是C#最为失败的用法之一
给个理由!?
...全文
464 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxingzh 2006-11-14
  • 打赏
  • 举报
回复
ding
siugwan 2006-11-14
  • 打赏
  • 举报
回复
直接赋值
SqlParameter para=new SqlParameter ("@para",ObjectValue);
kylin__2000 2006-11-14
  • 打赏
  • 举报
回复
另外关于楼上提出的可以保证程序的安全的说法我觉得这个工作不应该是C#来做的,这是程序开发人员考虑的事情,不需要它费心。
kylin__2000 2006-11-14
  • 打赏
  • 举报
回复
好像不行吧,不给的话在编译时可以通过,但是在运行时就出错了
zlj008 2006-11-08
  • 打赏
  • 举报
回复
恩 可以不给的
xyq1986 2006-11-08
  • 打赏
  • 举报
回复
不要也可以吧
wl19861202 2006-11-08
  • 打赏
  • 举报
回复
保证安全...
不过是蛮麻烦的.
shuangfeiyan 2006-11-08
  • 打赏
  • 举报
回复
你要是图省事你也可以不必声明这个长度啊,,
SqlParameter para=new SqlParameter ("@para",数据类型);
zhuyaowei 2006-11-08
  • 打赏
  • 举报
回复
首先,你可以不给50这个值!
其次,你没有碰到不给就出错的存储过程!
www_123du_com 2006-11-08
  • 打赏
  • 举报
回复
一定要???
zorro911 2006-11-08
  • 打赏
  • 举报
回复
你在C#中可以不定义,而是在数据库中要定义,所以这应该是数据库的问题,和C#没什么关系
如果你不在C#中验证的话,C#照样可以提交,只是到数据库里会报错,所以由上而知,定义字段长度
是数据库不严谨,不是C#失败
shoushii 2006-11-08
  • 打赏
  • 举报
回复
个人觉得这是C#最为失败的用法之一?你是没发展了.
wxl_pilot(空军飞行员) +=
1.可度性提高,可以让测试人员发现错误
2.理解.NET的原理
3.如果不是50呢?
wxl_pilot 2006-11-08
  • 打赏
  • 举报
回复
这里的长度和类型与你的数据库中的类型和 长度是对应的(相同的)
这样可以 有效保证你传入的参数类型准确和长度不会超出你定义的最大长度
保证了应用程序的安全

110,539

社区成员

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

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

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