首页 新闻 会员 周边

SqlParameter[]的问题

0
悬赏园豆:15 [已解决问题] 解决于 2010-01-28 11:26

SqlParameter[] para = {new SqlParameter("@id",SqlDbType.char}

para[0].value=user.id;

SqlParameter[] para = {new SqlParameter("@id",user.id}

一个定了参数的类型,一个没定,从各个方面来讲有什么优势,看了一下它的7个重载方法,没有类型和值一起定义的方法。从字面上初步判断SqlDbType是不是和数据库的字段类型有关?

我都习惯了定类型的写法,不定类型总感觉别扭,想找到不同啊?请大虾们指教

ghelement的主页 ghelement | 初学一级 | 园豆:20
提问于:2010-01-28 10:19
< >
分享
最佳答案
0

恩,有关系的,比如说,如果你数据表中原来userid为int型,现在要改为nvarchar型,你这一改的话,对于定类型的你也得改为如SqlDbType.Nvarchar的,想想如果你很多地方都用到了userid的话,岂不是其他地方的userid类型都要改,而对于第二种你就直接改Model中的一个userid的类型就行了。

仅个人见解,供参考……

收获园豆:10
Jaryleely | 菜鸟二级 |园豆:367 | 2010-01-28 10:55
我以前也是用你的第一种方法的,但实际应用中,总觉得一旦修改某些字段的类型时,更新起来总很麻烦,所以后来我就用第二种方法了。
Jaryleely | 园豆:367 (菜鸟二级) | 2010-01-28 10:58
其他回答(1)
0

声明了SqlDbType,提交前将对数据做一次转换。最好加上类别长度,可以过滤用户输入的字符。安全性比较高。

收获园豆:5
Wishbay | 园豆:350 (菜鸟二级) | 2010-01-28 10:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册