在连接到数据库时出现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"是我在数据库中的列名。

在连接到数据库时出现c#错误

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