1、
SqlParameter[] parameters = {
                    new SqlParameter("@ID", SqlDbType.Int),
                    new SqlParameter("@Username", SqlDbType.NVarChar,50),
                    new SqlParameter("@Password", SqlDbType.NVarChar,50),
                               };
            parameters[0].Value = model.ID;
            parameters[1].Value = model.Username;
            parameters[2].Value = model.Password;----------------------------------------------------------------------------------------------
2、          SqlParameter [] myparms=new SqlParameter [3];
            myparms[0] = new SqlParameter("@ID", basicUser.Id);
            myparms[1] = new SqlParameter("@UserId", basicUser.UserId);
            myparms[2] = new SqlParameter("@Name", basicUser.Name);麻烦大家说说 这两种方法的不同和优劣~
           

解决方案 »

  1.   

    好像没啥区别.。。只是第一种指定的类型(dbtype)
      

  2.   

    这个无所谓我更喜欢 不定义数组 直接用params标识方法的参数 传入
      

  3.   

    不知道第一种 :第一种指定的类型(dbtype)
    是不是比第二种没有之指定类型的好点呢?
      

  4.   

    很简单.
    Size:
    If not explicitly set, the size is inferred from the actual size of the specified parameter value.If the fractional part of the parameter value is greater than the size, then the value will be truncated to match the size.
    For fixed length data types, the value of Size is ignored. It can be retrieved for informational purposes, and returns the maximum amount of bytes the provider uses when transmitting the value of the parameter to the server.
      

  5.   

    1 适合于机器生成,比如 44个或是更多的时候按人的记忆力很可能记不住 1.2.3..4....44对应的字段是哪个
    2 适合于人,但是在太多情况下,也记不请我到底写了几个还有几个没写至于写法,我用codesmith生成 的都是第一种,後一种可能手写代码会采用