簡體   English   中英

SQLite數據庫中的c#ListBox

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM