我正在尋找一個ListBox的ArrayList中的數據移動,但它給錯誤。 錯誤:在SqlDataReader上調用GetString給我一個InvalidCastException
「」類型的未處理的異常在System.Data.dll中其他信息發生 :您不能轉換類型的 對象「System.Int32」的類型「System.String 」。
這發生在行:fill_arry[i] = objReader.GetString(1);
代碼:
public void Fill_List(ArrayList fill_arry)
{
SqlDataReader objReader;
SqlCommand objcmd =null;
int i = 0;
vsql = "SELECT [NOME] As Identificador,[RGP],[NOME],[ENDERECO],[CIDADE],[ESTADO],[TELEFONE],[CELULAR] FROM pescador";
if (this.Conectar())
{
try
{
objcmd = new SqlCommand(vsql, objCon);
objReader = objcmd.ExecuteReader();
while (objReader.Read())
{
fill_arry[i] = objReader.GetString(1);
}
}
catch (SqlException erro)
{
throw erro;
}
finally
{
this.Desconectar();
}
}
}
我不會」推薦使用ArrayList,而不是使用普通List。您不必從對象中強制轉換:http://stackoverflow.com/a/2309699/1661209 ArrayList在C#中已被棄用。 – Max
「RGP」列的類型是什麼?看起來像是數字類型。 –
你能舉個例子嗎? – user3056183