从mysql中选择放入变量VB.NET

Vin*_*dia 5 mysql vb.net

我正在尝试使用VB.NET从MySQL数据库中选择数据

Dim conn As New MySqlConnection
    Dim cmd As New MySqlCommand
    conn.ConnectionString = "Server=localhost; user id=root; password=; database=aplikasi_store_testing;"
    cmd.Connection = conn
    conn.Open()

    Dim Number As Integer
    cmd.CommandText = "SELCECT nama_student  FROM student where Id_student ='" & id & "'" 
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将选定的查询放入变量,任何人都可以帮助我吗?

And*_*idz 7

 Dim StrVar as String
 Dim rd As MySqlDataReader 
 Dim cmd as New MySqlcommand


 cmd.commandtext = "Select student_name from student_table where student_id = @ID"
 cmd.connection = conn
 rd = cmd.ExecuteReader

if rd.read then

    StrVar = rd.GetString(1)

end if
rd.close
Run Code Online (Sandbox Code Playgroud)

使用数据阅读器,您可以将查询结果分配给变量StrVar,这将派上用场.我使用GetString,因为我认为它是一个字符串类型和GetValue为整数.值"1"表示要传递给变量的列.

让我知道这个是否奏效.干杯......快乐的编码..


Dam*_*ith 5

您可以使用ExecuteScalar方法,如下所示

object nama_studentObj = cmd.ExecuteScalar()
if nama_studentObj != null then
  string nama_student= nama_studentObj .ToString()
Run Code Online (Sandbox Code Playgroud)

完整的示例代码

    Dim cs As String = "Database=testdb;Data Source=localhost;" _
        & "User Id=testuser;Password=test623"

    Dim stm As String = "SELECT VERSION()"
    Dim version As String
    Dim conn As MySqlConnection

    Try
        conn = New MySqlConnection(cs)
        conn.Open()

        Dim cmd As MySqlCommand = New MySqlCommand(stm, conn)

        version = Convert.ToString(cmd.ExecuteScalar())

        Console.WriteLine("MySQL version: {0}", version)

    Catch ex As MySqlException
        Console.WriteLine("Error: " & ex.ToString())
    Finally
        conn.Close()
    End Try
Run Code Online (Sandbox Code Playgroud)

注意 :

调用数据库时最好使用参数,如下所示

cmd.CommandText = "SELCECT nama_student  FROM student where Id_student = @Id_student"
Run Code Online (Sandbox Code Playgroud)

那么您必须将参数添加为

cmd.Parameters.AddWithValue("Id_student", id )
Run Code Online (Sandbox Code Playgroud)

如何创建参数化的SQL查询?我为什么要?

  • 不喜欢“ AddWithValue”。它必须推断出sql类型。有时会出错,宁愿使用nvarchar而不是varchar,nchar或char,这会破坏索引的使用并迫使表中的每一行进行转换,从而导致糟糕的性能。 (2认同)