如何将数据库表列名值绑定到windows窗体组合框
本文关键字:绑定 windows 窗体 组合 数据库 | 更新日期: 2023-09-27 18:11:11
我试图将列名值绑定到组合框,但我得到一个错误。我做错了什么?
这一行出现了错误"string sName = MyReader.GetString("Part#");"
Error message:
Error 1 The best overloaded method match for 'System.Data.Common.DbDataReader.GetString(int)' has some invalid arguments
Error 2 Argument 1: cannot convert from 'string' to 'int'
.
void FillComboBox()
{
SqlCommand cmd = new SqlCommand("select * from tblInventory", con);
SqlDataReader MyReader;
try
{
con.Open();
MyReader = cmd.ExecuteReader();
while (MyReader.Read())
{
string sName = MyReader.GetString("Part#");
comboBox2.Items.Add(sName);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
查看GetString的文档:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executereader%28v=vs.110%29.aspx
在代码中使用select *是不好的。想象一下,如果DBA向表中添加一个新列会发生什么——代码得到的内容超出了它的设计范围。指定需要的列:
select Part# from tblInventory
string sName = MyReader.GetString(0);
从select中获取第一列。