-3

我正在尝试通过 LINQ 实体将一些复选框选项作为一项添加到我的数据库中。然而,我遇到的障碍是我尝试将这些添加到一个变量中以添加到数据库时出错。这是我到目前为止所拥有的:

 public string GetSelectedItems(CheckBoxList control)
    {
        var items = new StringBuilder();

        foreach (ListItem item in chbxRoomChange.Items)
        {
            if (item.Selected)
                items.Append(string.Format("{0},", item.Text));
        }
        return items.ToString().TrimEnd(',');
    }

添加到数据库:

var choices = GetSelectedItems(chbxRoomChange);
 rc.preference = choices;
4

1 回答 1

0

根据您发布的异常详细信息,我怀疑您插入数据库的列太小,无法容纳您从应用程序传递的数据。

调试您的应用程序并查看 is 返回的字符串的长度,GetSelectedItems然后将其与您插入的列的大小进行比较。我怀疑你会发现你的绳子不合适,你需要增加它的大小。

作为旁注,您可以重写您的方法以使用 1 行:

var choices = string.Join(",", chbxRoomChange.Items
                                             .Cast<ListItem>()
                                             .Where(li => li.Selected)
                                             .Select(li => li.Text)
                                             .ToArray()); 
于 2013-02-07T22:19:03.560 回答