从MySQL连接获取数据并将其显示在TextBox上
本文关键字:显示 TextBox MySQL 连接 获取 数据 | 更新日期: 2023-09-27 18:24:19
我创建了一个MySQL表。我可以插入数据,但现在我想在用c#语言将保存的数据输入到我的Windows应用程序中的另一个选项卡的TextBox后获得它。
我已经编码了"刷新"按钮来获取数据,但我不知道它是否正确。基本上,我想点击它,从表中获取数据,并将其发布在文本框中。
以下是我到目前为止获得数据的部分:
private void button3_Click(object sender, EventArgs e)
{
string clanname, date, type, rules, final;
string connString = "Server=localhost;Database=request;Uid=root;Pwd=;";
using (MySqlConnection mcon = new MySqlConnection(connString))
using (MySqlCommand cmd = mcon.CreateCommand())
{
mcon.Open();
cmd.CommandText = "SELECT * FROM requesttcw";
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
clanname = textBox1.Text.Trim();
date = textBox2.Text.Trim();
type = textBox2.Text.Trim();
rules = textBox2.Text.Trim();
}
}
}
}
请帮忙!感谢
问题中的Select
查询正在从requesttcw
表中获取数据。您将希望从reader
实例中读取该数据,并将其添加到相应的文本框中。例如,你可以这样做来获取数据:
//textBox1 will hold the value of the first row and first column of your database.
textBox1.Text = reader.GetString(0);
在上面的GetString
命令中更新索引将更改从中获取数据的列。因此,您必须适当地更新该索引,以便从表中获取正确的数据,并插入到右侧文本框的.Text
属性中。
我不知道你在表中处理的是什么类型的数据。如果类型不是string
,则需要为该类型使用适当的Get
函数,无论是int
、double
等。有关更多类型,请查看MySqlDataReader参考页。
根据表格布局更改的频率,您可能还希望使用.GetOrdinal
使用读取器获取数据。使用此命令可以指定列名,而不是其索引。上述呼叫可以更改为:
//assuming "clanname" is a column in your database
textBox1.Text = reader.GetString(reader.GetOrdinal("clanname");
最后,在您的示例中,您使用了
while (reader.Read()) { ... }
这将遍历查询结果集中的每一行。我不知道你有多少文本框,也不知道你是否在寻找特定的格式,但请注意,如果你想在文本框中显示多行字段的数据,你必须为每个循环迭代附加到Text
属性。