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"]的形式呢?这是怎么实现的,数组查找元素不是通过索引的么?求指导!!!困扰我了,这个问题 展开
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"]的形式呢?这是怎么实现的,数组查找元素不是通过索引的么?求指导!!!困扰我了,这个问题 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询