SortedList slParams = new SortedList( 3 );
slParams.Add( "@id"+, 1);
slParams.Add( "@username"+, "admin");
slParams.Add( "@password"+, "admin");
以前是用SortedList 存放数据然后用
if( slParams != null )
{for( int i = 0; i < slParams.Count; i ++ )
{
cmd.Parameters.Add( slParams.GetKey( i ).ToString(), slParams.GetByIndex( i ) );
}
}取出数据执行储过程,但是现在用了WebService后SortedList 对象不行了,而ArrayList可以,现在用ArrayList能不能实现我上面的功能呀,怎么存进去,怎么取出来呀,还有一点就是执行存储过程的参数不是固定的,有可能是很多个的,有没有高手帮忙一下。

解决方案 »

  1.   

    slParams.Add( "@id"+, 1); 语法错误..SortedList中的项在插入时会排序...
    会造成参数的顺序不一致
      

  2.   

    在WebService中可以用ArrayList,用法和你以前用的一样
      

  3.   

    用HashTable可以实现,ArrayList只能存一个值
      

  4.   


                string str0; 
                ArrayList myArray = new ArrayList();
                Console.WriteLine("请您输入字符串(按“qq”退出):");
                for (int i=0; ;i++)
                {
                    str0= Console.ReadLine();
                    if (str0== "qq")
                        break;
                    else
                    {
                                                                         
                       myArray.Add(str0);
                    
                    }
                }
    看看这个就应该明白了吧!!
      

  5.   

    WebService 里只能用ArrayList,真是晕呀只能放一个值,如果放对象的话,我的参数的个数不一样,又很麻烦的
      

  6.   

    treesky说的我是知道的,但是他只能放一个值的,有没有更好的办法解决呀
      

  7.   

    HashTable在Webservice里不能用吧
      

  8.   

    SortedList slParams = new SortedList( 3 );
    slParams.Add( "@id"+, 1);
    slParams.Add( "@username"+, "admin");
    slParams.Add( "@password"+, "admin");
      change into :
       ArrayList a=new ArrayList();
      foreach(arraylist b in ArrayList)
    {
        b.add() ;   
    }