2010-08-30 36 views
0

我知道如何連接到訪問數據庫等。通過選擇列表框中的項目在文本框中顯示Microsoft Access數據

我的問題是,我想從列表框中選擇一個項目,然後它必須在訪問數據庫中搜索我選擇的項目,並在文本框中顯示其所有內容。例如:

在列表框,我有以下補充:

汽車1
車2
汽車3

如果我選擇租車2,我想把它讀數據庫並在文本框中顯示Car 2的所有屬性。例如,一旦我選擇它,它可以在特定文本框中顯示馬力,在特定文本框中以最大速度顯示,在特定文本框中以年份模型等。

任何人都可以幫我解決這個問題嗎?

+3

的這個問題的答案很大程度上取決於* *您所使用要顯示的信息是什麼技術。如何使用選定的值來檢索所需的屬性,以及如何將這些屬性綁定到文本框,這取決於您使用的是ASP.NET,WinForms還是WPF等。請明確說明。 :) – 2010-08-30 20:26:49

+0

關於@djacobson:我沒有看到這個問題與Access有什麼關係,因爲Access沒有涉及(C#是開發環境),並且quesiton似乎沒有涉及任何東西從Jet/ACE數據存儲中檢索數據。 – 2010-09-01 03:33:00

+0

刪除了ms-access標籤。希望eze會回來並詳細說明。 :) – 2010-09-01 05:28:05

回答

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 
} 

聽起來好像你正在爲此設置一個自定義控件。不過,我建議使用數據網格來完成你正在做的事情,而不是文本框。

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"); 

相關問題