在vs/05下 有泛型 程序可以写成如下:这样是没有错误的
    public static List<News> GetTopNews(int NewsKindId,int IntTop)
    {
        List<News> AllNews = new List<News>();
        string procname = "dbo.GetTopNews";
        SqlParameter[] prams ={ new SqlParameter("@NewsKindId", SqlDbType.Int),
                                new SqlParameter("@IntTop", SqlDbType.Int)};
        SqlDataReader sdr= DataBase.RunProcGetReader(procname); //DataBase自己写的类
        while (sdr.Read())
        {
            AllNews.Add(new News(sdr));        }
        sdr.Close();
        return AllNews;
    }
===================================================================
在vs/03下 我使用的是 ArrayList 问题也就出现了public static ArrayList GetTopNews(int NewsKindId,int IntTop)
{
ArrayList AllNews = new ArrayList();
string procname = "dbo.GetTopNews";
SqlParameter prams ={ new SqlParameter("@NewsKindId",SqlDbType.Int),//报错:只能使用数组初始值设定项表达式为数组赋值
      new SqlParameter("@IntTop",SqlDbType.Int)
    };
        SqlDataReader sdr = DataBase.RunProcGetReader(procname);
while(sdr.Read())
{
AllNews.Add(new News(sdr));
}
sdr.Close();
return AllNews;
}谁能指导一下啊.......

解决方案 »

  1.   

    SqlParameter[] prams ={ new SqlParameter("@NewsKindId",SqlDbType.Int),//报错:只能使用数组初始值设定项表达式为数组赋值 
          new SqlParameter("@IntTop",SqlDbType.Int)
    };
    它是数组
      

  2.   

    SqlParameter[] prams = new SqlParameter[]{ new SqlParameter("@NewsKindId",SqlDbType.Int),
          new SqlParameter("@IntTop",SqlDbType.Int) 
    }; 
      

  3.   

    SqlParameter prams ={ new SqlParameter("@NewsKindId",SqlDbType.Int),//报错:只能使用数组初始值设定项表达式为数组赋值 
          new SqlParameter("@IntTop",SqlDbType.Int) 
        }; 
    ==>SqlParameter prams ={ new SqlParameter("@NewsKindId",NewsKindId),
          new SqlParameter("@IntTop",IntTop) 
        }; 
      

  4.   

    数组不能用 就单个赋值呗
    ArrayList list = new ArrayList();SqlParameter prams= new SqlParameter("@NewsKindId",SqlDbType.Int);
    prams.Value = NewsKindId;
    list.Add(prams);
    SqlParameter prams1= new SqlParameter("@IntTop",SqlDbType.Int);
    prams1.Value = IntTop;
    list.Add(prams1);
      

  5.   

    错怪一楼的朋友了 是我自己写的时候SqlParameter prams 忘记加“[]”了  应该写成 SqlParameter[] prams
    真是罪过啊罪过
      

  6.   

    SqlParameter prams
    ...............
    原来是手误..............