//把的DataTable中某列转换成数组
        private int[] Get_DT_Arr(DataTable myDT,int LieNum)
        {
            string[] aa = new string[myDT.Rows.Count];
            for (int i = 0; i < myDT.Rows.Count; i++)
            {
                aa[i] =myDT.Rows[i][LieNum].Tostring();
           
            }
            return aa;
        
        } 

解决方案 »

  1.   

    IList<string> s = new List<string>();
    DataTable dt = bus.GetDeptInfo();
    for(int i = 0; i < dt.Rows.Count;i++){
        dt.Add(dt.Rows[i]["DeptID "].ToString());
    }
      

  2.   

    在加入数组时,要在数据两边加上引号和逗号(如果数据大于2,如{'0','CM'}),因为后边过滤条件时要用到.
    DeptID IN {'0','CM'}.
      

  3.   

    我原来的代码:
    DataTable dt = bus.GetDeptInfo();            StringBuilder sb = new StringBuilder();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    sb.Append( "'" + dt.Rows[i]["DeptID"].ToString() + "',");
                }
    但结果是{'0','CM',}
      

  4.   

    DataTable dt = bus.GetDeptInfo();
    string []list;//存储DeptID
    StringBuilder condition=new StringBuilder();//条件
    condition.Append("{");
    for(int i=0;i<dt.Rows.count;i++)
    {
        list[i]=dr["DeptID "].ToString();
        condition.Append("'");
        condition.Append(list[i]);
        condition.Append("'");
        if(i!=dt.Row.count-1)
        {
          condition.Append(",");
        }
    }
    condition.Append("}");//拼凑出你的查询条件 {'0','CM'}  只需和你的sql语句拼接上就行了
      

  5.   

    DeptID IN {'0','CM'}是不是应该用()吧
      

  6.   

    DataTable dt = bus.GetDeptInfo(); 
    string []list;//存储DeptID 
    StringBuilder condition=new StringBuilder();//条件 
    condition.Append("("); 
    for(int i=0;i <dt.Rows.count;i++) 

        list[i]=dr["DeptID "].ToString(); 
        condition.Append("'"); 
        condition.Append(list[i]); 
        condition.Append("'"); 
        if(i!=dt.Row.count-1) 
        { 
          condition.Append(","); 
        } 

    condition.Append(")");//拼凑出你的查询条件 ('0','CM')  只需和你的sql语句拼接上就行了