如何在消息框中显示 SQL 数据库中的字段

Posted

技术标签:

【中文标题】如何在消息框中显示 SQL 数据库中的字段【英文标题】:How to display a field from SQL database in a message box 【发布时间】:2015-04-23 20:13:23 【问题描述】:

我在 VB 上已经有了这个:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SqlConnection
Dim cmd As New SqlCommand

Try
con.ConnectionString = "Server=SISTEMAS\SQLEXPRESS;Database=UPC;Trusted_Connection=Yes" 'Coneccion a la base de datos'"
con.Open()
cmd.Connection = con
cmd = New SqlCommand("SELECT * FROM UPC_Table WHERE UPCNumber='" & TextBox1.Text & "' AND Description= '" & TextBox2.Text & "'", con)
Dim numerorecord As Int32 = cmd.ExecuteScalar

If numerorecord > 0 Then
MsgBox("NUMERO DE UPC YA EXISTE")
Else
cmd.CommandText = "INSERT INTO UPC_Table (UPCNumber, Description) VALUES ('" & TextBox1.Text & "','" & TextBox2.Text & "')" 'Codigo para insertar UPC del text box a la base de datos'
cmd.ExecuteNonQuery()
MessageBox.Show("UPC Entrado")
End If


Catch ex As Exception
MessageBox.Show("Error..." & ex.Message, "Inserta el Record")
Finally
con.Close()
End Try

End Sub

我想在第一个消息框中为我带来一条来自 SQL 的记录。示例:

我他们在 upc 文本框上输入 upc # 123456 然后再次输入一个消息框,说 upc # 123456 属于让我们说 KETCHUP(这来自 SQL 数据库)

【问题讨论】:

更好地学习如何使用参数来避免sql注入。 必填链接。 bobby-tables.com 【参考方案1】:

我会做一些改变来完成这个:

1) 仅从数据库中返回您需要的列(在我的示例中,将 myFieldName 更改为您的列名)

2) 从查询中返回一个对象,并检查该对象是否有值并进行相应的处理。

修改后的代码如下。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim con As New SqlConnection
        Dim cmd As New SqlCommand

        Try
            con.ConnectionString = "Server=SISTEMAS\SQLEXPRESS;Database=UPC;Trusted_Connection=Yes" 'Coneccion a la base de datos'"
            con.Open()
            cmd.Connection = con
            cmd = New SqlCommand("SELECT myFieldName FROM UPC_Table WHERE UPCNumber='" & TextBox1.Text & "' AND Description= '" & TextBox2.Text & "'", con)

            Dim val As Object = cmd.ExecuteScalar()

            If val Is Nothing Then
                cmd.CommandText = "INSERT INTO UPC_Table (UPCNumber, Description) VALUES ('" & TextBox1.Text & "','" & TextBox2.Text & "')" 'Codigo para insertar UPC del text box a la base de datos'
                cmd.ExecuteNonQuery()
                MessageBox.Show("UPC Entrado")
            Else
                MsgBox("The UPC is" & val)
            End If


        Catch ex As Exception
            MessageBox.Show("Error..." & ex.Message, "Inserta el Record")
        Finally
            con.Close()
        End Try

    End Sub

【讨论】:

以上是关于如何在消息框中显示 SQL 数据库中的字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在消息框中显示数据库值

窗口消息框中的 C# WPF XAML

如何在窗口/消息框中显示500字的输出?

Winform消息框中的可点击URL?

Winform消息框中的可点击URL?

用户输入值时如何从文本框中填充消息框?