c# - 在 C# 中显示来自数据库的列表框中的项目

标签 c# database listbox

我有一个包含两个表CountriesWebsites 的数据库。我使用以下语句显示 listbox1 中的所有国家/地区名称:

try
{

    connection.Open();
    using (OleDbCommand command = new OleDbCommand())
    {
        command.Connection = connection;
        command.CommandText = "SELECT CountryName FROM Countries ";
        //whenever you want to get some data from the database
        using (OleDbDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                listBox1.Items.Add(reader["CountryName"].ToString());
            }
        }
    }
}
catch (Exception l)
{
    MessageBox.Show("Error:" + l);
}
finally
{
    connection.Close();
}

但是根据用户在列表框 1 中选择的项目知道,我希望列表框二显示与数据库中的国家/地区链接的相关网站。网站表中的外键是CountryIDFK,我想显示第二个表的字段WebsiteName

我不知道如何在 listbox2 中显示项目。我不想将它们添加到第二个列表框中,而只是根据用户选择的国家/地区显示。有人可以帮忙吗?

最佳答案

首先,您可以绑定(bind)数据源。这意味着您可以将 DataTable 或对象列表绑定(bind)到您的列表框。此处提供示例:https://msdn.microsoft.com/en-us/library/system.windows.forms.listcontrol.datasource%28v=vs.110%29.aspx 这样您就可以将您的 ID 和国家名称存储在列表框项目列表中。

之后您可以使用 SelectedValueChanged 事件处理程序,这也在上面的示例中进行了演示。在处理程序方法中,您只需填充第二个列表框。

关于c# - 在 C# 中显示来自数据库的列表框中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32347339/

相关文章:

c# - 使用 Entity Framework 时如何将数据库用户名和密码安全地存储在 web.config 文件中

php - 显示具有多个需要累加的值的左连接

PHP MYSQL 连接到用户名 session

android - 如何从 .db.crypt 文件中读取数据?

c# - Windows Phone 的 silverlight 中的文本换行问题

c# - 如何在 C# 中添加页眉和页脚 txt 文件?

c# - 通过代理使用 WCF 连接到 asmx web 服务

c# - "nameof "运算符 ,"expression cannot be used in an argument to nameof"

c# - 无法将类型 'void' 隐式转换为 'System.Collections.Generic.List<string>'

c# - 是否可以根据其值设置组合框的selectedIndex