表中某列的数据是这样的:
12
12/45
34/32
4
2
4/78
我想取出其中的数据放入数组,其中有“/”的值取“/”之前的数据,没有的就直接取原来的。
这个要怎么实现啊?

解决方案 »

  1.   

    SqlDataReader dr..
    while(dr.Read())
    {
    lst.Add(dr[""].ToString().Split('/')[0]);
    }
      

  2.   

    先判断有否有“/”public   bool   checkchar(string   str,string   s) 

    if(str.IndexOf(s)   > =   0) 

    return   true; 

    return   false; 
    }
    然后为真就string.Substring(0,x),再放入数组!
      

  3.   

    列名:name
    表名:tableselect name=
    case when charindex('a',name) > 0 then substring(name,0, charindex('a',name))
    else name
    end
    from table会自动答题的论坛辅助工具:《Csdn收音机》!
      

  4.   

    把a换成/就可以了贴图片很累吧,用《Csdn收音机》截图功能轻松解决!
      

  5.   

    如果需要在SQL语句里实现,那你需要在数据库里建一个自定义函数,取出“/”的位置,然后在SQL语句里用substr函数来截取字符串,因为substr函数需要截取的起始位置和长度,所以你需要用前面建的那个自定义函数来找出那个“/”位置
      

  6.   

    为什么我用你的方法的时候会出错
    我的代码是这样的:
    static ArrayList CATA = new ArrayList();
            static void Main(string[] args)
            {            SqlConnection myConnection;
                string server = "server=192.168.1.201;database=scan;uid=sa;pwd=sa";
                myConnection = new SqlConnection(server);
                myConnection.Open();
                string sqlCata = "select FILEPAGE from TradeData_9_31";
                SqlCommand cmd0 = new SqlCommand(sqlCata, myConnection);
                SqlDataReader dr0 = cmd0.ExecuteReader();
                while (dr0.Read())
                {
                    CATA.Add(dr0[""].ToString().Split('/')[0]);
                }
            }
      

  7.   

     CATA.Add(dr0[""].ToString().Split('/')[0]);这里的把你的列名加上。。不要想梦哥给你全解。入门才是正道
      

  8.   

    用sql查询不是更好吗?《Csdn收音机》是个开源的辅助工具,以后学技术更方便了!
      

  9.   

    我刚入门,关于那个substring什么的不明白。
      

  10.   

    哦,它是sql带的函数《Csdn收音机》,让哥不只是传说!