SqlParameterCollection 与 SqlParameter区别
C# code
cmd.Parameters.Add("@ClassName", SqlDbType.VarChar, 50);
cmd.Parameters["@ClassName"].Value = tb_ClassName.Text;
这里面的两个cmd.Parameters分别用到的是:
1.SqlParameterCollection 类的公共方法 Add.
2.SqlParameter 类的公共属性 Value.
请问为什么同是cmd.Parameters会用到两个不同的类?我怎么知道cmd.Parameters什么情况下,调用的是那一个类的方法或者属性了?
请大侠们指教!!!
------解决方案--------------------假如我有个数组,名字为a,a.xxx方法当然是针对a数组来说了,像a.add为给数组里添加一个对象;
但是我要说a[1],这当然是针对数组里的那个对象来说了,一般我有a[1].key返回数组的索引值,a[1].value返回值。
我不知道索引,但是系统会给我提供另一种方法来访问a数组里的值,比如a["abc"].value来访问名字为abc的项的值。
c#中好多类型都是这样来访问的。
------解决方案--------------------SqlParameterCollection就相当是一个数组,里面有好多SqlParameter,SqlParameterCollection的方法一般都是对整个数组来操作,但是要具体访问其中一个SqlParameter,就用Parameters["abc"]来访问。
你打Parameters时候,打一个[会出来提示重载,你看一下[string]的重载,返回的类型就是SqlParameter类型的。