c#点击一次button就读取一条数据库内容并展示在textbox中
时间: 2024-02-26 18:57:37 浏览: 241
可以使用类似的方式,在 Button 的 Click 事件中读取数据库并将数据显示在 TextBox 控件中。步骤如下:
1. 声明一个 MySqlConnection 对象和一个 MySqlDataReader 对象,以及一个计数器变量来记录当前读取的行数。
```csharp
MySqlConnection conn = new MySqlConnection(connectionString);
MySqlDataReader reader = null;
int rowIndex = 0;
```
2. 在按钮的 Click 事件中,编写 SQL 查询语句,并使用 MySqlCommand 对象执行查询并返回 MySqlDataReader 对象。
```csharp
string sql = "SELECT * FROM users LIMIT " + rowIndex + ", 1";
MySqlCommand cmd = new MySqlCommand(sql, conn);
reader = cmd.ExecuteReader();
```
3. 在 while 循环中读取 MySqlDataReader 中的数据,并将其显示在 TextBox 控件中。
```csharp
if (reader.Read())
{
int id = reader.GetInt32("id");
string name = reader.GetString("name");
textBox1.Text = "ID: " + id + ", Name: " + name;
}
```
4. 计数器变量加一,以便读取下一行数据。
```csharp
rowIndex++;
```
5. 关闭 MySqlDataReader 对象。
```csharp
reader.Close();
```
完整代码如下:
```csharp
private void button1_Click(object sender, EventArgs e)
{
MySqlConnection conn = new MySqlConnection(connectionString);
MySqlDataReader reader = null;
int rowIndex = 0;
try
{
conn.Open();
string sql = "SELECT * FROM users LIMIT " + rowIndex + ", 1";
MySqlCommand cmd = new MySqlCommand(sql, conn);
reader = cmd.ExecuteReader();
if (reader.Read())
{
int id = reader.GetInt32("id");
string name = reader.GetString("name");
textBox1.Text = "ID: " + id + ", Name: " + name;
}
rowIndex++;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (reader != null)
{
reader.Close();
}
conn.Close();
}
}
```
注意,在此示例中,使用了 TextBox 来显示数据,如果读取多行数据,需要使用 TextBox 的 AppendText 方法来逐行添加数据。另外,也可以使用 DataGridView 等控件来显示数据,具体实现方法略有不同。
阅读全文