在连接到数据库时出现c#错误
本文关键字:错误 连接 数据库 | 更新日期: 2023-09-27 18:10:35
try
{
connection.Open();
myReader = cmdDatabase.ExecuteReader();
while (myReader.Read())
{
string nationality = myReader.GetString("country");
cmbnationality.Items.Add(nationality);
}
}
我遇到了这个问题:
Error 2 Argument 1: cannot convert from 'string' to 'int'
在行:
string nationality = myReader.GetString("country");
有人能帮我吗?我基本上试图填充值在一个组合框从我的数据库。"country"是我在数据库中的列名。
GetString
接受一个int形参,这是您想要的数据的序数。改为:
string nationality = myReader.GetString(myReader.GetOrdinal("country"));
请参阅IDataReader的文档。
这仅仅是因为Reader.GetString()期望一个int
作为参数。你正在通过string
考试。如果你要传递一个字符串,你必须这样调用它:
string nationality = myReader.GetString (reader.GetOrdinal("country"));
使用GetString的正确方法如下
string nationality = myReader.GetString (myReader.GetOrdinal("country"));
MSDN - GetOrdinal
MSDN - GetString
GetString
期望int参数,而您正在传递字符串。这样做:
string nationality = myReader.GetString (myReader.GetOrdinal("country"));
请详细阅读以下内容:
GetOrdinal
GetString