无法将 System.Int32 类型的对象强制转换为 Windosws 窗体 c 中的 System.String 类型#

Unable to cast object of type System.Int32 to type System.String in Windosws forms c#

提问人:Web777Ms 提问时间:10/30/2022 更新时间:10/30/2022 访问量:364

问:

出现此异常: 无法将 System.Int32 类型的对象强制转换为 System.String 类型 代码如下:

 private void frmPractica21_Load(object sender, EventArgs e)
        {
            try
            {
                conexion.Open();

            }
            catch (Exception)
            {
                MessageBox.Show("Error");
            }

            SqlCommand comando = new SqlCommand("Select * from TablaPractica21", conexion);
            SqlDataReader lector;

            lector = comando.ExecuteReader();
            while (lector.Read())
                dgvDatos.Rows.Add(lector.GetString(0),
                lector.GetString(1), lector.GetString(0));//It appears on this line

            conexion.Close();

        }

`

我尝试从 SQL 在 DataGridView 中填充一个表,但是当我运行应用程序时出现此异常,我在这里缺少什么?

C# SQL-Server WinForms 强制转换 选项卡

评论

1赞 Rand Random 10/30/2022
您应该考虑使用 DataTable 的 load 方法,它将为您处理数据类型 - learn.microsoft.com/en-us/dotnet/api/...

答:

0赞 MrMustafaDev22 10/30/2022 #1

从 int 转换为字符串

lector.GetInt32(0).ToString()