-3

LINQ エンティティを介して 1 つの項目としていくつかのチェックボックス オプションをデータベースに追加しようとしています。ただし、私が遭遇する障害は、これらを 1 つの変数に追加してデータベースに追加しようとするとエラーが発生することです。これが私がこれまでに持っているものです:

 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

投稿した例外の詳細に基づいて、データベースに挿入している列が小さすぎて、アプリケーションから渡されたデータを保持できないと思われます。

アプリをデバッグし、返される文字列の長さを確認して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 に答える