gpt4 book ai didi

c# - 如何从 MySQL 数据库中选择数据以用于组合框选择?

转载 作者:搜寻专家 更新时间:2023-10-30 22:00:44 24 4
gpt4 key购买 nike

所以通常当您创建一个组合框时,您将成为放置选择值的人,但我希望我的组合框中的数据将从我的数据库 mysql 中选择。我该怎么做?

我无法从我的 sql 中选择数据到组合框!

到目前为止,这是我的代码!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
MySqlConnection connection = null;
string hostname = "localhost";
string database = "aparece_hoteldb";
string username = "root";
string password = "";
connection = new MySqlConnection("host=" + hostname +
";database=" + database +
";username=" + username +
";password=" + password + ";");


string table = "reservations";
string query = "SELECT * FROM " + table;
connection.Open();
MySqlDataAdapter da_res = null;
DataSet ds_res = null;
ds_res = new DataSet();
da_res = new MySqlDataAdapter(query, connection);
da_res.Fill(ds_res, table);

dataGridView2.DataSource = ds_res.Tables[table];

}

private void label2_Click(object sender, EventArgs e)
{

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{


}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}
}
}

最佳答案

好的,所以将数据列表绑定(bind)到组合框,尤其是当它是您已经拥有的组合框时,将会非常简单。所以,在这一行之后:

dataGridView2.DataSource = ds_res.Tables[table];

让我们再添加一些:

comboBox1.DisplayMember = "YourDisplayField";
comboBox1.ValueMember = "YourValueField";
comboBox1.DataSource = ds_res.Tables[table];

这会将数据绑定(bind)到组合框。但是,让我们分解一下。 DisplayMember 是您希望用户看到的字段值。通常这是行的名称或简短描述。 ValueMember 是您要绑定(bind)到 SelectedValue 属性的字段。当用户在组合框中选择一个项目时,SelectedValue 将被设置为该字段的值。

现在您可以使用更好的事件 SelectedIndexChanged,现在您可以使用 SelectedValueChanged .每次用户选择一个新值时,该事件都会触发,您可以根据需要使用它。

如果需要,您可以像这样转换组合框的 SelectedItem 属性来获得实际的 DataRow:

var row = comboBox1.SelectedItem as DataRow;

或者您可以获取该值并用它做一些事情:

var val = comboBox1.SelectedValue;

您可以将其转换为 ValueMember 字段的任何类型。如果将它设置为 int 字段,那么您可能会这样做:

var val = (int)comboBox1.SelectedValue;

如果它是一个 string 字段,那么可能是这样的:

var val = comboBox1.SelectedValue as string;

关于c# - 如何从 MySQL 数据库中选择数据以用于组合框选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364330/

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