日期:2014-05-18  浏览次数:20367 次

关于Split函数的使用,细节问题!
我要给数据库添加权限,如A:1,2,3,4,5(注意逗号是在5前面截止)
B:2,3,4,5,6,(注意逗号是在6后面截止)
我要把相应的数字赋值给CHECKBOXLIST
当初我添加权限的字符串的时候这样写的
  foreach (ListItem i in CheckBoxList1.Items)
  {
  if (i.Selected)
  {
  str +=i.Value+",";
  }
  }
所以导致插入SQL后最后一个都是,号结尾,这样无法赋值
我取值的时候用了
  cn.Open();
  string str = Convert.ToString(cmd.ExecuteScalar());
  cn.Close();
  if (str != null)
  {
  string[] strings = str.Split(',');
  foreach (string s in strings)
  {
  CheckBoxList1.Items.FindByValue(s).Selected = true;
  }
  }

我这样写的结果是A:记录可以用分割取出,但是B记录就提示错误了.
请问是否在我添加权限的时候就写错了?还是SPLIT 有什么其他用法,只取逗号左边的数字?

------解决方案--------------------
str.substring(0,str.length-1)
应该是着样子的!
------解决方案--------------------
foreach (string s in strings) 

if(s.Trim()!="")
{
CheckBoxList1.Items.FindByValue(s).Selected = true; 
}