簡體   English   中英

如何從vb.net中的數據庫中顯示味精中的值

[英]how to display value in msg from database in vb.net

如何在vb.net的數據庫中的消息框中顯示值? 我需要幫助

如果我在文本框中輸入錯誤的值,我想顯示值,然后消息框顯示數據庫中的原始值。

        Dim cmdAB As String
        Dim daAB As SqlClient.SqlDataAdapter
        Dim dsAB As DataSet
        Dim dtAB As DataTable

        cmdAB = "SELECT * FROM English_Test WHERE school_code= '" & school_code & "' and child_id= '" & child_id & "' and english_1= '" & English_1TextBox.Text & "'"
        daAB = New SqlClient.SqlDataAdapter(cmdAB, cnn)
        dtAB = New DataTable()

        dsAB = New DataSet()

        daAB.Fill(dsAB, "English_Test")

        dtAB = dsAB.Tables("English_Test")

        If (dtAB.Rows.Count > 0) Then

            English_2TextBox.Focus()

        Else

            MessageBox.Show("English 1: " & dtAB.Rows(0).Item("english_1") & " not found.", "" & Name & " - Not Found", MessageBoxButtons.OK, MessageBoxIcon.Warning)

            English_1TextBox.Enabled = True
            English_1TextBox.Text = Nothing
            English_1TextBox.Focus()

        End If

通過這種使用參數的方式,以及using ... EndUsing塊,即使出現錯誤,也可以確保關閉並正確放置對象。

Private Sub CheckOriginalData()
        Dim Name As String = ""
        Dim school_code As String = ""
        Dim child_id As String = ""
        Dim dtAB As New DataTable
        Using cn As New SqlConnection("Your connection string")
            Dim cmdAB As String = "SELECT * FROM English_Test WHERE school_code= @SchoolCode and child_id= @ChildID and english_1= @English1;"
            Using cmd As New SqlCommand(cmdAB, cn)
                cmd.Parameters.Add("@SchoolCode", SqlDbType.VarChar).Value = school_code
                cmd.Parameters.Add("@ChildID", SqlDbType.VarChar).Value = child_id
                cmd.Parameters.Add("@English1", SqlDbType.VarChar).Value = English_1TextBox.Text
                cn.Open()
                Using dr As SqlDataReader = cmd.ExecuteReader
                    dtAB.Load(dr)
                End Using
            End Using
        End Using
        If (dtAB.Rows.Count > 0) Then
            English_2TextBox.Focus()
        Else
            MessageBox.Show("English 1: " & English_1TextBox.Text & " not found.", Name & " - Not Found", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            English_1TextBox.Enabled = True
            English_1TextBox.Text = Nothing
            English_1TextBox.Focus()
        End If
    End Sub

最后,你的問題。 如果您的數據表沒有行,那么引用行和列以獲取值將無法解決。 您提供了該值,但它仍在文本框中而不在數據庫中。 記住,沒有找到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM