在用数据库中的数据填充comboBox时,我创建了SqlDataReader。我希望检索包含产品名称的列

问题描述 投票:0回答:2

这是代码。

void ProdFill()
{
    string coninfo = "datasource=DESKTOP-1F4329L;port=3306;username=root;password=root";
    string query = "select * from prodTest.product;";
    SqlConnection conn = new SqlConnection(coninfo);
    SqlCommand cmdDb = new SqlCommand(query, conn);
    SqlDataReader myReader;

    try
    {
        conn.Open();
        myReader = cmdDb.ExecuteReader();
        while(myReader.Read())
        {
            string prodname = myReader.GetString("pname");
            comboBox2.Items.Add(prodname);
        }
    }
}

它给出了一个错误:

string prodname = myReader.GetString("pname"); 

说明

它有无效的参数。无法从字符串转换为int。

c# .net database sqldatareader
2个回答
0
投票

在GetString()中传递列索引


0
投票

您可以尝试以下方法

如果您想按列名获取数据,那么您可以继续使用

string prodname = myReader["pname"].ToString();

如果您知道列的索引,那么您可以使用

   string prodname = myReader.GetString(0); //you can replace 0 with index of column

myReader获取数据后,您可以将其添加到组合框中

comboBox2.Items.Add(prodname);
© www.soinside.com 2019 - 2024. All rights reserved.