2011-12-29 33 views
0

我有三個下拉列表,這些值要插入數據庫中的一個特定字段。但我是新來的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() 

任何人都可以引導我/幫我用下面的代碼的編輯,使其中選擇將在TimingID去3個下拉列表值。

謝謝

+0

你想將3個值連接成一列嗎? – 2011-12-29 12:40:06

+0

您如何建議將三個值放入一個值?您可以在字符串中使用以逗號分隔的列表,或者使用XML(overkill),或者使用一些狂野黑客(不推薦),或者簡單地添加兩列(如果可能,建議使用) – sq33G 2011-12-29 13:34:59

+0

當連接時,我通常避免使用逗號分隔符,與字符串的潛在衝突。考慮管道(「|」)或其他確定的字符不會出現在您的值中以確保安全。 – nycdan 2011-12-29 15:02:04

回答

1

如果你想連接值,你可以這樣做。

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

然後,當您使用.Split()或類似函數從該字段檢索數據時,您將不得不解析出3個值。

就像一個說明,ID字段使用連接字符串似乎很奇怪。我假設這個領域需要唯一性,這看起來有風險,通過使用下拉值的組合。你有覆蓋嗎?

+0

感謝您的幫助。我會把它暴露給asp。很多事情都不確定。 – downsidegoodie 2011-12-29 15:14:36

+0

祝你好運。考慮上面說的sq33g。如果您可以修改表格設計,那麼您可能只想單獨存儲這三個字段並相應地修改您的索引。另外,如果您需要唯一的ID字段,則可以爲此目的創建單獨的標識字段。 – nycdan 2011-12-29 15:18:45

相關問題