用CheckBoxlist控件把选中的几个值一起存到数据库的一个字段中,怎么弄啊?

解决方案 »

  1.   

    string str="";
    for(int i=0;i<CheckBoxlist1.Items.Count;i++)
    {
      if(i>0)
          str+=",";
      if(CheckBoxlist1.Items[i].Checked)
         str+=CheckBoxlist1.Items[i].Value;
    }
    然后执行sql将str的值保存
      

  2.   

    string s="";
    foreach (ListItem li in chkBox1.Items)
    {
        if (li.Checked)
          s=li.Value+",";  
    }
    if(s.EndWiths(","))s=s.SubString(0,s.Length-1);
    或for(int i =0;i <ChecklistBox.Items.count;i++) 

    if(ChecklistBox.Items[0].Selected) 
      lst.Add(List.ChecklistBox.Items[0]); 

      

  3.   

    数据库中的字符串再拆分
    SQL----类似Split函数的实现(字符串转换成表字段) 
    CREATE FUNCTION dbo.Split(@Str VARCHAR(8000))
    RETURNS
    @List TABLE
    (
    OBJECT VARCHAR(100)
    )
    AS
    BEGIN
    DECLARE @OBJECT AS VARCHAR(100)
    WHILE CHARINDEX(',',@Str)>0
    BEGIN
     SET @OBJECT=SUBSTRING(@Str,1,CHARINDEX(',',@Str)-1)
     INSERT INTO @List
     (
      OBJECT
     )
     SELECT
      @OBJECT
     SET @Str=STUFF(@Str,1,CHARINDEX(',',@Str),'')
    END
    RETURN
    END
    ------------------------------------------------------------------------DECLARE @STR VARCHAR(500)SET @STR='2009/01/01,2010/05/01,'
    SELECT CONVERT(DATETIME,OBJECT) FROM Split(@STR)----DATETIEMSET @STR='1,2,3,4,5,6,7,8,9,10'
    SELECT CONVERT(INT,OBJECT) FROM Split(@STR)------INT
      

  4.   

    CheckBoxlist我也想把多個選中字段取出來,可是出了問題,就是永遠只能取出一個,就是最上面一個選中的,不知道樓主是不是也這樣
    對於這樣的問題,當時我的同事給我的意見是,用一個隱藏的hiddenfield把CheckBoxlist中選中的值串起來放進去,然後讓後臺去取這個hiddenfield裏面的value,實現的方法當然只能用js完成了。
    當時我已經完成了,可是後來老大說不要這麼做,廢,鬱悶的荒就換會原本的只能選中一個了,這段代碼也就被我删了,要不還能給樓主貼出來
    那個CheckBoxlist在解析成html代碼后是個select,可以用options來取值和判斷是否選中的。js實現不算太麻煩。樓主試試好了