我有一个带有 ListBox 和数据库类的表单。表单从数据库中调用一个方法,该方法返回一个字符串。
public listItem()
{
InitializeComponent();
Db = new Database();
itemList = new List<string>();
showAllItems();
}
现在,showAllItems 函数调用 Db.getAllitems() 函数,该函数返回一个列表。
private void showAllItems()
{
itemList = Db.getAllItems();
lb_itemList.DataSource = itemList;
}
列表显示列表框中所有项目的名称。但是,我也想返回项目的描述。但我不希望描述显示在列表框中。我希望它显示在列表框旁边的标签上,该标签显示所选项目的描述。
我的主要问题是,我不知道如何在不显示列表框中的所有数据的情况下返回多个数据。我只希望列表框中的名称和其他数据显示在标签上的列表框旁边,具体取决于列表框中的所选项目
public List<string> getAllItems()
{
List<string> itemList = new List<string>();
SQLiteConnection connection = new SQLiteConnection("Data Source=HCI.db");
connection.Open();
SQLiteCommand cmd = new SQLiteCommand("SELECT rid, name, category, price, status, specific FROM items", connection);
SQLiteDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
//itemList.Add(reader.GetString(reader.GetInt64(rid)));
itemList.Add(reader.GetString(reader.GetOrdinal("name")));
itemList.Add(reader.GetString(reader.GetOrdinal("category")));
itemList.Add(reader.GetString(reader.GetOrdinal("price")));
itemList.Add(reader.GetString(reader.GetOrdinal("status")));
itemList.Add(reader.GetString(reader.GetOrdinal("specific")));
}
}
connection.Close();
return itemList;
}