我試圖讓用戶選擇他們的婚姻狀況,將更新數據庫中的字段。這是用戶第一次使用時的情況,但如果他們想再次更新它,則不會更新。asp.net更新數據庫從下拉列表
如果我選擇一個數據源,如果他們想要更新,那麼在第一次選擇DDL時不會給出其他選項。
*ASPX*
<asp:DropDownList ID="DDLMarital" runat="server" TabIndex="1">
<asp:ListItem Value = "Single" Text = "Single">Single</asp:ListItem>
<asp:ListItem Value = "Married" Text = "Married">Married</asp:ListItem>
<asp:ListItem Value = "Separated" Text = "Separated">Separated</asp:ListItem>
<asp:ListItem Value = "Divorced" Text = "Divorced">Divorced</asp:ListItem>
</asp:DropDownList>
** * *ASPX.VB* ****
'binding...
保護小組的Page_Load(發送者爲對象,例如作爲System.EventArgs)把手Me.Load
Dim dvSql4 As DataView =
DirectCast(SqlMarital.Select(DataSourceSelectArguments.Empty), DataView)
For Each drvSql4 As DataRowView In dvSql4
DDLMarital.Text = drvSql4("Marital_Status").ToString()
Next
結束子
「更新數據庫時, 「下一步」 按鈕是點擊 Protected Sub BtnNext_Click(sender As Object,e As System.EventArgs)Handle BtnNext.Click
Dim con As New SqlConnection
Dim cmd As New SqlCommand
con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\scrummingit2.mdf;Integrated Security=True;User Instance=True"
con.Open()
cmd.Connection = con
cmd.CommandText = ("UPDATE Student_Personal_Details SET Marital_Status = @Marital WHERE Student_No = @StudentNo")
Dim maritalParam As New SqlParameter("@Marital", DDLMarital.Text)
Dim studentNoParam As New SqlParameter("@StudentNo", lblEnrolmentStudentNumber.Text)
lblEnrolmentStudentNumber.Text = Session("Student")
cmd.Parameters.Add(maritalParam)
cmd.Parameters.Add(studentNoParam)
cmd.ExecuteNonQuery()
con.Close()
End Sub
任何人都可以幫忙嗎?在谷歌沒有找到任何答案的日子裏,現在變得絕望了。
重置你得到任何錯誤? – user1102001 2013-04-08 10:03:27
沒有錯誤。只是繼續按預期從數據庫不更新 – Mark 2013-04-08 10:07:35
您可以檢查與sql-profiler什麼是通過時執行查詢 – user1102001 2013-04-08 10:14:54