通过选择列表框中的项目在文本框中显示Microsoft Access数据

时间:2010-08-30 20:17:21

标签: c# database listbox

我知道如何连接到访问数据库等等。

我的问题是,我想从列表框中选择一个项目,然后它必须在访问数据库中搜索我选择的项目并在文本框中显示其所有内容。例如:

在列表框中,我添加了以下内容:

车1 车2
车3

如果我选择Car 2,我希望它读取数据库并在文本框中显示所有Car 2的属性。例如,一旦我选择它,它就可以在特定文本框中显示马力,在特定文本框中显示最大速度,在特定文本框中显示年份模型等。

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

假设每个属性有1个文本框,只要你选择与列表框不同的内容,这个属性就会改变,这就是我要做的。听起来你已经使用数据库中的某个类别填充了列表框,可能是CarType。我会使用LINQ运行查询来填充给定文本框中的结果。

var query = from record in myTable.AsEnumerable()
            where record.CarType == myListBox.SelectedValue
            select record;

foreach (var record in query)
{
    horsePower.Text = record.HorsePower;
    //and so on
}

听起来您正在为此设置自定义控件。但是,我建议使用数据网格来执行您要执行的操作,而不是文本框。

答案 1 :(得分:0)

您是否尝试过使用数据绑定?

listBox.DataSource = dataTableCars;
listBox.DisplayMember = "car_name";
listBox.ValueMember = "car_id";

txtBox.DataBindings.Add("Text",dataTableCars,"car_name");
txtBox.DataBindings.Add("Text",dataTableCars,"car_driver_name");