2011-12-29 12 views
0

データベースの特定のフィールドに値を挿入する3つのドロップダウンリストがあります。しかし、私はASPの初心者です。データベース(ASP)のフィールドに複数のドロップダウンリスト値を挿入する

これは私の次のコードです:

Dim strConn = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString 
    Dim myConn As New SqlConnection(strConn) 
    Dim cmd = "INSERT INTO [IndividualWorkout] (WorkoutProgramName, WorkoutProgramPosted, WorkoutProgramDesc, IndividualWorkoutName, IndividualWorkoutTips, TimingID) VALUES (@WorkoutProgramName, @WorkoutProgramPosted, @WorkoutProgramDesc, @IndividualWorkoutName, @IndividualWorkoutTips, @TimingID)" 
    Dim myCmd As New SqlCommand(cmd, myConn) 
    myCmd.Parameters.AddWithValue("@WorkoutProgramName", TextBox1.Text) 
    myCmd.Parameters.AddWithValue("@WorkoutProgramPosted", TextBox2.Text) 
    myCmd.Parameters.AddWithValue("@WorkoutProgramDesc", TextBox3.Text) 
    myCmd.Parameters.AddWithValue("@IndividualWorkoutName", TextBox4.Text) 
    myCmd.Parameters.AddWithValue("@IndividualWorkoutTips", TextBox5.Text) 
    myCmd.Parameters.AddWithValue("@TimingID", DropDownList4.SelectedValue.ToString()) 
    myCmd.Connection = myConn 
    myConn.Open() 
    myCmd.ExecuteNonQuery() 
    myConn.Close() 

誰もが選択された3つのDropDownListの値がTimingIDに行くように、私は/次のコードの編集で私を助け導くでした。

おかげ

+0

3つの値を1つの列に連結しますか? –

+0

3つの値を1つの値に入れることをどのように提案しますか?文字列やXML(過度な)や野生のハッキング(推奨されない)でコンマ区切りのリストを使うこともできますし、単純に2つの列を追加することもできます(可能であればお勧めします) – sq33G

+0

連結するときは、ストリングとの潜在的な競合の可能性パイプ( "|")やあなたの値に安全でないと思われる他の文字を考えてみましょう。 – nycdan

答えて

1

あなたが値を連結したい場合、あなたはこのようにそれを行うことができます。

string s = DropDownList4.SelectedValue.ToString() + "|" 
    + DropDownList5.SelectedValue.ToString() + "|" 
    + DropDownList6.SelectedValue.ToString(); 
myCmd.Parameters.AddWithValue("@TimingID", s); 

次に、あなたが.Split()または同様の機能とそのフィールドからデータを取得する際の3つの値を解析する必要があります。

ちょうどメモとして、IDフィールドに連結文字列を使用することは奇妙に思えます。私は、このフィールドが一意性を必要としていると仮定しています。これは、ドロップダウン値の組み合わせを使用することによって危険にさらされているようです。あなたはそれをカバーしていますか?

+0

ありがとうございました。私はちょうどaspにさらされたように私はそれを行います。本当によく分からないことがたくさんある。 – downsidegoodie

+0

幸運。上記のsq33gが言ったことを考えてください。テーブルデザインを変更できる場合は、3つのフィールドを別々に保存して、それに応じてインデックスを変更するだけです。また、一意のIDフィールドが必要な場合は、その目的のために個別の識別フィールドを作成することもできます。 – nycdan

関連する問題