请高手帮忙看一下!Query方法中的cmdParms的使用
protected   static   string   connectionString   =ConfigurationSettings.AppSettings[ "ConnectionString "]; 
 		///    <summary>  
 		///   执行查询语句,返回DataSet 
 		///    </summary>  
 		///    <param   name= "SQLString "> 查询语句 </param>  
 		///    <returns> DataSet </returns>  
 		public   static   DataSet   Query(string   SQLString,params   SqlParameter[]   cmdParms) 
 		{ 
 			using   (SqlConnection   connection   =   new   SqlConnection(connectionString)) 
 			{ 
 				//新建一个cmd 
 				SqlCommand   cmd   =   new   SqlCommand(); 
 				PrepareCommand(cmd,   connection,   null,SQLString,   cmdParms); 
 				using(   SqlDataAdapter   da   =   new   SqlDataAdapter(cmd)   ) 
 				{ 
 					DataSet   ds   =   new   DataSet();	 
 					try 
 					{												 
 						da.Fill(ds, "ds "); 
 						cmd.Parameters.Clear(); 
 					} 
 					catch(
System.Data.SqlClient.SqlException   ex) 
 					{				 
 						throw   new   Exception(ex.Message); 
 					}			 
 					return   ds; 
 				}				 
 			}			 
 		} 
 		///    <summary>  
 		///   这是一个建产连接及执行语句 
 		///    </summary>  
 		///    <param   name= "cmd "> cmd </param>  
 		///    <param   name= "conn "> 连接数据库 </param>  
 		///    <param   name= "trans ">  </param>  
 		///    <param   name= "cmdText "> SQL </param>  
 		///    <param   name= "cmdParms ">  </param>  
 		private   static   void   PrepareCommand(SqlCommand   cmd,SqlConnection   conn,SqlTransaction   trans,   string   cmdText,   SqlParameter[]   cmdParms)    
 		{ 
 			if   (conn.State   !=   ConnectionState.Open) 
 				conn.Open(); 
 			cmd.Connection   =   conn; 
 			cmd.CommandText   =   cmdText; 
 			if   (trans   !=   null) 
 				cmd.Transaction   =   trans; 
 			cmd.CommandType   =   CommandType.Text;//cmdType; 
 			if   (cmdParms   !=   null)    
 			{ 
 				foreach   (SqlParameter   parm   in   cmdParms) 
 					cmd.Parameters.Add(parm); 
 			} 
 		} 
 我用了老是说没声明 
 我的代码是			System.Data.SqlClient.SqlParameter      prm1=new   SqlParameter( "@str ",SqlDbType.NVarChar,32); 
 			prm1.Direction=ParameterDirection.Input;			 
 			this.DataGrid2.DataSource=db1.db.Query( "select   @prm1   from      book ",prm1);
------解决方案--------------------System.Data.SqlClient.SqlParameter  prm1=new SqlParameter( "@str ",SqlDbType.NVarChar,32);   
 @Str 这个你的确没申明