Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net从下拉列表更新数据库_Asp.net_Vb.net_Drop Down Menu_Sql Update - Fatal编程技术网

asp.net从下拉列表更新数据库

asp.net从下拉列表更新数据库,asp.net,vb.net,drop-down-menu,sql-update,Asp.net,Vb.net,Drop Down Menu,Sql Update,我试图允许用户选择他们的婚姻状况,这将更新数据库中的字段。这在用户第一次使用时是可以的,但是如果他们想再次更新它,它将不会更新 如果我选择了一个数据源,如果他们希望更新,DDL中不会给他们任何其他选项,除了第一次选择的选项 *ASPX* 'binding... 受保护的子页加载(发送者作为对象,e作为System.EventArgs)处理Me.Load Dim dvSql4 As DataView = DirectCast(SqlMarital.Select(DataSourceSel

我试图允许用户选择他们的婚姻状况,这将更新数据库中的字段。这在用户第一次使用时是可以的,但是如果他们想再次更新它,它将不会更新

如果我选择了一个数据源,如果他们希望更新,DDL中不会给他们任何其他选项,除了第一次选择的选项

*ASPX*

'binding...
受保护的子页加载(发送者作为对象,e作为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
端接头

'单击“下一步”按钮时更新数据库 受保护的子BtnNext\u Click(发送者作为对象,e作为System.EventArgs)处理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()
端接头


有人能帮忙吗?在谷歌上找不到任何答案的日子已经过去了,现在变得绝望了。

你应该检查回发,只有在不是回发时才分配所选的值

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
   If Not IsPostBack
        Dim dvSql4 As DataView =
    DirectCast(SqlMarital.Select(DataSourceSelectArguments.Empty), DataView)
        For Each drvSql4 As DataRowView In dvSql4
            DDLMarital.Text = drvSql4("Marital_Status").ToString()
        Next
   End If
End Sub

用户的选择目前被忽略,因为每次加载时都会重置值

是否有任何错误??无错误。除了数据库不更新之外,还可以按预期继续执行。执行querytanks@nunespascal时,您可以使用sql profiler检查传递的内容!它工作得很好!现在压力小了一点。
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
   If Not IsPostBack
        Dim dvSql4 As DataView =
    DirectCast(SqlMarital.Select(DataSourceSelectArguments.Empty), DataView)
        For Each drvSql4 As DataRowView In dvSql4
            DDLMarital.Text = drvSql4("Marital_Status").ToString()
        Next
   End If
End Sub