存储过程的参数传递问题?
我用下面的命令调用有out参数的存储过程,      是可以正确执行的。   
          SqlParameter[]   commandParameters   =   new   SqlParameter[2]; 
                         commandParameters[0]   =   new   SqlParameter( "@serviceid ",   SqlDbType.Int); 
                         commandParameters[0].Value   =   0; 
                         commandParameters[0].Direction   =   ParameterDirection.Output; 
                         commandParameters[1]   =   new   SqlParameter( "@pcid ",   SqlDbType.Int); 
                         commandParameters[1].Value   =   0; 
                         commandParameters[1].Direction   =   ParameterDirection.Output; 
                         Database.ExecuteNonQuery(CommandType.StoredProcedure,    "getfreePcidandServiceid ",   commandParameters); 
                         serviceid   =   (int)   (commandParameters[0].Value); 
                         pcid   =   (int)(commandParameters[1].Value);   
 可是这样有弊病: 
 一是参数数组大小必须定义好, 
 二是取得out参数的值要用数组顺序,不方便。如commandParameters[1].Value   
 有没有好的获得out参数的值的方法? 
------解决方案--------------------没错,你那样不行,得用当前的SqlCommand对象Parameters去获取 
 不知道你Database类里怎么写的 
 实际上你需要在Database类里公开SqlCommand对象. 
 给你一个代码参考下: 
 using (SqlConnection connection = new SqlConnection(SqlConnstr)) 
 			{ 
 				connection.Open(); 
 				SqlCommand command = BuildIntCommand(connection,storedProcName, parameters ); 
 				command.ExecuteNonQuery(); 
 				return (int)command.Parameters[ "ReturnValue "].Value; 
 			} 
 你要返回多个的话,就最好公开SqlCommand对象