0

listboxWeb サイトにselectionmode「複数」のアイテムがあります。sql送信ボタンをクリックしたときに、選択したすべてのアイテムをサーバーのテーブルの列に挿入したいと考えています。

これは私のlistboxアイテムです。

<asp:TableCell>
    <asp:ListBox ID="lbLanguagesKnown" runat="server" Height="217px" 
        SelectionMode="Multiple">
        <asp:ListItem Selected="True" Value="-1">-Select Languages-</asp:ListItem>
        <asp:ListItem Value="1">Arabic</asp:ListItem>
        <asp:ListItem Value="2">Bengali</asp:ListItem>
        <asp:ListItem Value="3">English</asp:ListItem>
        <asp:ListItem Value="4">German</asp:ListItem>
        <asp:ListItem Value="5">Hindi</asp:ListItem>
        <asp:ListItem Value="6">Japanese</asp:ListItem>
        <asp:ListItem Value="7">Javanese</asp:ListItem>
        <asp:ListItem Value="8">Mandarin</asp:ListItem>
        <asp:ListItem Value="9">Others</asp:ListItem>
        <asp:ListItem Value="10">Portuguese</asp:ListItem>
        <asp:ListItem Value="11">Russian</asp:ListItem>
        <asp:ListItem Value="12">Spanish</asp:ListItem>
    </asp:ListBox>
</asp:TableCell>

そんなことがあるものか?助けてください。

4

3 に答える 3

5

最初の正規形を破ることになるので、おそらくこれをしたくないでしょう。代わりに、関係を多対多としてモデル化する方が理にかなっている場合があります。

この場合、Languagesテーブル、(例)Userテーブル、そしてジャンクション テーブル(例LanguagesKnown) があり、ジャンクション テーブルの各行に 2 つの外部キーを使用して、多くの言語を多くのユーザーにリンクします。

于 2013-07-09T11:26:31.970 に答える
0

すべての値を組み合わせて単一の列に入れることは、まったく良い考えではありません...上記の回答のように、データ正規化の1NF条件さえ満たしていません。その結果、ディスク容量の使用が非効率になり、クエリが遅くなります(本当に面倒です)私の理解からそのようなテーブルから結果を得るために)。ただし、それでもやりたい場合は、値を区切り文字 (、または /) で連結して挿入し、後で必要に応じて分割できるようにすることができます..

于 2013-07-09T11:37:10.227 に答える