如何将组合框与数据库表连接起来?
本文关键字:连接 起来 数据库 组合 | 更新日期: 2023-09-27 18:09:03
我有一个名为comboBox2的组合框,我想用我的数据库表'Student_Table'的列'Stud_Name'填充这个组合框我使用以下代码:
void Fillcombo()
{
string constring = "Data Source=(LocalDB)''v11.0;AttachDbFilename=C:''ChaCha''ChaCha''chacha.mdf;Integrated Security=False";
string query = "select * from database.Student_Table";
SqlConnection condb = new SqlConnection(constring);
SqlCommand cmddb = new SqlCommand(query, condb);
SqlDataReader myreader;
try
{
condb.Open();
myreader = cmddb.ExecuteReader();
while(myreader.Read())
{
string sName = myreader.GetString("Stud_Name");
comboBox2.Items.Add(sName);
}
}
catch (Exception ex)
{
}
}
但是,我得到这样的错误信息:
最佳重载方法匹配'System.Data.Common.DbDataReader.GetString(int)'有一些无效值参数。
如何删除此错误?我用的是Visual Studio 2012
错误信息明确表示;
以string
为参数的SqlDataReader.GetString
方法不存在重载
此方法以int
为参数,该参数是您希望获得的从零开始的列的个数。
您需要将查询中的Stud_Name
列号作为整数值。
;如果你的Stud_Name
是你的query
的第一列,你可以这样使用;
string sName = myreader.GetString(0);
还使用using
语句来处理您的SqlConnection
, SqlCommand
和SqlDataReader
。
您的问题是您传递给称为GetString
的方法的参数。你应该传递你想要读取的列的索引。不需要这样做,而是传递列的名称。这就是为什么你会得到这个错误信息。
有关更多文档,请查看此处