2011-06-23 11 views
0

私のASP.netプロジェクトに関して少し問題があります。私のASP.netプロジェクトにはregister.aspx,login.aspxdefault.aspxというページがあります。複数のデータをASP.netのデータベースに書き込む

ちなみに、それらのユーザーから必要な情報をregister.aspxページのテキストボックスに入力し、ボタンをクリックすると、情報がデータベースに書き込まれます。要するに、私のプロジェクトはそれです。私の質問は - 私はチェックボックスリストを使って複数の選択肢を与え、チェックボックスリストで選択した項目をデータベース内のテーブルに書き、各項目のカンマをデータベースのテーブルの中に入れて書きたいと思います。

以下のコードを試しました。私はエラーを取得していないよ。しかし、それはテーブルの中でNULLフィールド(私は趣味と呼ばれる列を使用しています)として来ています。そして、同じレコードを2回記録していました。

String selectedItem = string.Empty; 
foreach (ListItem item in CheckBoxList1.Items) 
{ 
    if (item.Selected) 
    { 
     string.Format(selectedItem, ",", item.Text); 
    } 
} 

if (selectedItem != string.Empty) 
{ 
    selectedItem = selectedItem.Substring(1); 
} 

それとも、 私は以下のようにコードを実行しようとすると、それだけで最初に選択を取ります。

for(int i=0;i<CheckBoxList1.Items.Count;i++) 
    { 
     if (CheckBoxList1.Items[i].Selected == true) 
     { 
       cmd.Parameters.Add("@Hobies", SqlDbType.VarChar).Value = 
      CheckBoxList1.Items[i].Text.ToString(); 
       cmd.ExecuteNonQuery(); 
     } 
    } 
+0

まず、データベースの正規化をよく読んで。複数の値をカンマで区切って同じフィールドに入力すると、最初の正規形に違反しています。 http://en.wikipedia.org/wiki/Database_normalization –

答えて

1
String selectedItem = string.Empty; 
foreach (ListItem item in CheckBoxList1.Items) 
{ 
    if (item.Selected) 
    { 
     **selectedItem += "," + item.Text;** 
    } 
} 

if (selectedItem != string.Empty) 
{ 
    selectedItem = selectedItem.Substring(1); 
} 
関連する問題