[英]c# ListBox From SQLite Database
首先,我很尷尬地問這個問題,因為它看起來很簡單,但是我一直在搜索論壇,而對這個工作原理卻一無所知。
我正在嘗試從SQLite的表填充列表框,但是我需要實際值是數據庫的ID,而不是顯示的值。 現在我知道這里有很多已經回答的問題,但是我讀過的所有答案似乎都不適合我。
我來自php編程,在那很簡單。
我正在使用的代碼是
private void fillTheColours(ListBox colourListBox)
{
colourListBox.Items.Clear();
con.Open();
SQLiteCommand command = new SQLiteCommand(con);
command.CommandText = "SELECT colourId,suffix FROM colours ORDER BY suffix ASC";
command.ExecuteNonQuery();
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{
colourListBox.Items.Add(reader["suffix"]);
}
con.Close();
}
那是我的功能,將可見值放入列表框很不錯,但在應用程序的下一步中該值無用。
首先,我將如何添加ID。 其次,我該如何訪問該ID? 要將其設置為變量?
就這樣,它在Visual Studio 2015的Windows窗體應用程序中使用C#成為即時消息
提前干杯瑞恩
colourListBox.Items.add(new ListBoxItem("name", "value"));
更改代碼以添加上述項。
要獲取選擇的ID,請使用以下代碼:
string id = colourListBox.SelectedValue;
替代方法:
private void fillTheColours(ListBox colourListBox)
{
colourListBox.Items.Clear();
SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT colourId,suffix FROM colours ORDER BY suffix ASC",con);
DataSet ds = new DataSet();
da.Fill(ds);
colourListBox.ValueMember= "colourId";
colourListBox.DisplayMember="suffix";
colourListBox.DataSource = ds;
}
while(reader.Read()){
string id =reader["colourId"].ToString();
string suf =reader["suffix"].ToString();
var newit = new ListBoxItem(id, suf);
colourListBox.Items.add(newit);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.