if(sqlcon == null) 

sqlcon=this.GetConn(); 

sqlcom=new SqlCommand(); 
sqlcom.CommandType=CommandType.StoredProcedure; 
sqlcom.Connection=sqlcon; 
sqlcom.CommandText="selectFlight"; SqlParameters[] pa=new SqlParameters[]{new SqlParameter("@DepartureCityName",DepartureCityName),
new SqlParameter("@ArrivalCityName",ArrivalCityName)};
pa[0].value="";
pa[1].value="";

sqlcom.Parameters.AddRange(pa); dataSet = new DataSet(); 
sqlda = new SqlDataAdapter(); 
sqlda.SelectCommand=sqlcom; 
sqlda.SelectCommand.ExecuteNonQuery(); 
sqlda.Fill(dataSet); 
return dataSet; 

解决方案 »

  1.   

    sqlcom.Parameters.Add(new SqlParameter("@DepartureCityName",DepartureCityName)); 
    sqlcom.Parameters.Add(new SqlParameter("@ArrivalCityName",ArrivalCityName)); 
    每参数应该要有具体值,如上面说的那样
    pa[0].value=""; 
    pa[1].value=""; 
      

  2.   

    我是想作成个方法传进去的啊
    public DataSet useProc(string DepartureCityName,string ArrivalCityName) pa[0].value=DepartureCityName;  
    pa[1].value=ArrivalCityName;这样就OK了?
      

  3.   

    表都可以查出来就是DataSet里面是空的
    因为DataGrid里都有表头了