gpt4 book ai didi

mysql - 使用 vb 2012 从 mysql 获取特定的行 col 值

转载 作者:行者123 更新时间:2023-11-30 23:18:18 25 4
gpt4 key购买 nike

我有一个按钮检索我只想通过它的行和列获取数据库表“帐户”值并将其显示在文本框中。我不断在数据填充行上收到错误

 Imports MySql.Data.MySqlClient
Public Class Form1
Dim dataset As DataSet
Dim datatable As DataTable
Dim sqlcon As MySqlConnection
Dim dataadapter As MySqlDataAdapter
Dim sqlcommand As MySqlCommand
Dim sql As String

Private Sub retrieve_Click(sender As Object, e As EventArgs) Handles retrieve.Click

sqlcon = New MySqlConnection("Data Source=localhost;Database=database;User ID=root;Password=;")

sqlcon.Open()

sql = "select * from account"
dataadapter = New MySqlDataAdapter(sql, sqlcon)
dataadapter.Fill(dataset)
TextBox2.Text = dataset.Tables(0).Rows(0).Item(0).ToString()
End Sub
End Class

最佳答案

您需要实例化传递给 Fill 方法的数据集。

....
dataset = new DataSet()
dataadapter.Fill(dataset)
...

完成后不要忘记关闭连接。在不需要时保持开放是一种非常昂贵的资源

Using sqlcon = New MySqlConnection("Data Source=localhost;Database=database;User ID=root;Password=;")

sqlcon.Open()
sql = "select * from account"
dataadapter = New MySqlDataAdapter(sql, sqlcon)
dataset = new DataSet()
dataadapter.Fill(dataset)
TextBox2.Text = dataset.Tables(0).Rows(0).Item(0).ToString()
End Using

See the Using Statement

但是,如果您只需要一行,则最好使用 WHERE 子句来优化查询以限制数据库返回的结果。

    sql = "select * from account WHERE AccountName = @name"
dataadapter = New MySqlDataAdapter(sql, sqlcon)
dataadapter.SelectCommand.Parameters.AddWWithValue("@name", inputNameBox.Text)
dataset = new DataSet()
dataadapter.Fill(dataset, "Account")
if dataset.Tables("Account").Rows.Count > 0 then
TextBox2.Text = dataset.Tables("Account").Rows(0).Item(0).ToString()
End If

这有望只返回所需的行

关于mysql - 使用 vb 2012 从 mysql 获取特定的行 col 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16619160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com