gpt4 book ai didi

c# - 用数据库中的数据填充组合框

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:45 24 4
gpt4 key购买 nike

我在 SQL Server 上有一个 Windows 窗体和一个数据库,名为 RecordStore .我有一张 CD 表(称为 [CD-table]),我正在尝试从中提取数据并以这种形式显示。

我想让表单有一个 combobox显示 CD 专辑标题("CDname"),但我希望能够从 "CDID" 中获取 CD ID #(Combobox.SelectedValue)属性 - 我会将其转换为 int。

目前,我不确定如何获取这两条数据,除非我将它变成一个对象,但它只是显示 ProjectName.CDcombobox .我想访问 CDID,因为我有一个 DataGridView我只想填充 CD 数据,我将其设置为 DataTable,然后设置 DataTable作为 DataGridView's数据源

获取 CD 数据并返回 CD 对象列表的方法。

private string myconnectionString = @"/*connection string*/";
public List<CD> GetCDList()
{
List<CD> CDList = new List<CD>();
SqlConnection myConnection;
SqlCommand myCmd;
SqlDataReader myReader;
myConnection = new SqlConnection(myconnectionString);
myCmd = new SqlCommand("SELECT CDID, CDname FROM [CD-table]", myConnection);
try
{
myConnection.Open();
myReader = myCmd.ExecuteReader();
while (myReader.Read())
{
CD newCD = new CD((int)myReader["CDID"]);
newCD.name = myReader["CDname"].ToString().Trim();
CDList.Add(newCD);
}
myReader.Close();
myConnection.Close();
}
finally
{
myConnection.Close();
}

return CDList;
}

CD 对象(非常基本):

public class CD
{
public string name;
private int ID;

public CD(int _ID)
{
ID = _ID;
}
}

和填充 Combobox 的代码在表单加载方法上:

List<CD> myList = myDataAccess.GetCDList();
AlbumCombobox.DataSource = myList;

最佳答案

您只需要设置 ValueMember 和 DisplayMember 属性:

List<CD> myList = myDataAccess.GetCDList();
AlbumCombobox.DataSource = myList;
AlbumCombobox.DisplayMember = "Name";
AlbumCombobox.ValueMember = "ID";

CD类应该定义如下:

public class CD
{
public string Name {get; set; }
public int ID {get; private set;}

public CD(int _ID)
{
ID = _ID;
}
}

关于c# - 用数据库中的数据填充组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30067911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com