【发布时间】:2015-07-16 01:39:14
【问题描述】:
我在 SQL Server 上有一个 Windows 窗体和一个数据库,名为 RecordStore。我有一张 CD 表(称为 [CD-table]),我正在尝试从中提取数据并以这种形式显示。
我希望表单有一个 combobox 来显示 CD 专辑标题 ("CDname"),但我希望能够从 Combobox.SelectedValue 获取 CD ID # ("CDID")属性 - 我会将其转换为 int。
目前,我不确定如何获取这两条数据,除非我将其制成一个对象,但它只是在combobox 中显示ProjectName.CD。我想访问 CDID,因为我有一个 DataGridView,我想只填充 CD 数据,我将其设置为 DataTable,然后将 DataTable 设置为 DataGridView's DataSource
获取 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;
【问题讨论】:
标签: c# sql-server winforms ado.net sqlclient