Salve, io ho la necessità di mettere i risultati di una query select in un array. Siccome all'array devo assegnare una dimensione, inizialmente nn lo posso fare perchè non conosco quanti sono i record che mi estrare la select. Allora io mi conto il numero di record estratti e do quel numero come dimensione del mio array. Faccio così:
string SQL = "select COUNT(*) from commessa where settore=?; select * from commessa where settore=?";
//Response.Write(SQL);
MySqlCommand cmd = new MySqlCommand(SQL, connection);
cmd.Parameters.Add("?",id_settore);
int records = (int)cmd.ExecuteScalar();
string[] denominazione = new string[records];
string[] descrizione = new string[records];
MySqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
int m = -1;
while (dr.Read())
{
denominazione[++m] = dr["denominazione"].ToString();
descrizione[m] = dr["descrizione"].ToString();
}
Quando lo avvio mi da la seguente eccezione:
Cast specificato non valido
sulla riga:
int records = (int)cmd.ExecuteScalar();
Come posso risolvere?

Rispondi quotando