question ancienne, mais peut-être quelqu'un encore besoin d'une réponse
en temps réel j'ai travaillé autour de cette question comme ça
Pour int:
public static object GatDataInt(string Query, string Column)
{
SqlConnection DBConn = new SqlConnection(ConnectionString);
if (DBConn.State == ConnectionState.Closed)
DBConn.Open();
SqlCommand CMD = new SqlCommand(Query, DBConn);
SqlDataReader RDR = CMD.ExecuteReader();
if (RDR.Read())
{
var Result = RDR[Column];
RDR.Close();
DBConn.Close();
return Result;
}
return 0;
}
la même chose pour la chaîne juste retour « » au lieu de 0 comme « » est une chaîne vide
afin que vous puissiez l'utiliser comme
int TotalPoints = GatDataInt(QueryToGetTotalPoints, TotalPointColumn) as int?;
et
string Email = GatDatastring(QueryToGetEmail, EmailColumn) as string;
très flexible afin que vous puissiez insérer n'importe quelle requête pour lire n'importe quelle colonne et elle ne retournera jamais avec l'erreur
Si quelqu'un a besoin du ** nom de colonne ** plutôt que de l'index, vous pouvez faire: int colIndex = reader.GetOrdinal (fieldname); 'et ea sily surcharge la fonction 'SafeGetString' de marc_s. – ilans