C#中,看代码突然想到的问题,求大神指导!!!

看了一下ado.net,其中执行带参数的存储过程的代码片段如下:try{cn.Open();SqlCommandcmd=newSqlCommand("gt_Address... 看了一下ado.net,其中执行带参数的存储过程的代码片段如下:
try
{
cn.Open();
SqlCommand cmd = new SqlCommand("gt_Address", cn);
cmd.CommandType = CommandType.StoredProcedure;
//为命令对象生成参数
SqlCommandBuilder.DeriveParameters(cmd);
//设置输入参数值
cmd.Parameters["@p_psnName"].Value= "怕瓦落地";
//执行存储过程
cmd.ExecuteNonQuery();
//获得输出参数值和存储过程返回值
int res=(int)cmd.Parameters["@Return"].Value;
string address = (string)cmd.Parameters["@g_psnAddress"].Value;
Console.WriteLine("返回值:{0},地址:{1}",res ,address);
}
我思考的问题来了,代码:
cmd.Parameters["@p_psnName"].Value= "怕瓦落地";
这个sqlcommand对象中的Parameters对象数组中,我要查找这个Parameters数组其中的元素可以用
cmd.Parameters[i],i为int类型,为什么还可以用形如cmd.Parameters["@p_psnName"]的形式呢?这是怎么实现的,数组查找元素不是通过索引的么?求指导!!!困扰我了,这个问题
展开
 我来答
bxfc
2013-01-09 · TA获得超过872个赞
知道小有建树答主
回答量:1104
采纳率:0%
帮助的人:686万
展开全部

这不是数组。。这是一个自定义集合。。

追问
对,是这个自定义集合里的成员。然后我想问的是,你选中的两个索引是重载么?通过这个索引器可以给SqlParameterCollection这个集合的成员SqlParameter赋值?
追答
是啊。

方法重载是指在同一个类中方法同名,参数不同。调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术
百度网友0dcd2b1f0
2013-01-09 · 超过16用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:48.7万
展开全部
这个方法是有2个重载的 困扰你的是第二个重载形式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liling_22
2013-01-09
知道答主
回答量:31
采纳率:0%
帮助的人:13.6万
展开全部
为什么不找个ado.net公共类?这种写法很繁琐。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式