Comment puis-je convertir les résultats d’une requête de firebase database en un tableau?

Comment convertir les résultats renvoyés dans une requête MySQL en un tableau en C # .Net / Mono

À ma connaissance, vous devez définir des tableaux avec le nombre d’éléments que contient le tableau, mais je comprends que DataReader n’indique pas que plusieurs lignes ont été renvoyées. alors comment puis-je définir un tableau.

Jusqu’à présent j’ai:

ssortingng sqlWhere; if ((name != None) && (name != "")) sqlWhere = "WHERE name LIKE '%"+name+"%'"; if ((company != None) && (company != "")) if (sqlWhere == "") sqlWhere = "WHERE company LIKE '%"+company+"%'"; else sqlWhere = sqlWhere + " AND company LIKE '%"+company+"%'"; if ((dateFrom != None) && (dateFrom != "") && (dateTo != None) && (dateTo != "")) if (sqlWhere == "") sqlWhere = "WHERE date(timestampIn) BETWEEN '"+dateFrom+"' AND '"+dateTo+"'"; else sqlWhere = sqlWhere + " AND date(timestampIn) BETWEEN '"+dateFrom+"' AND '"+dateTo+"'"; IDbCommand dbcmd = this.dbcon.CreateCommand(); dbcmd.CommandText = "SELECT * FROM visitors " + sqlWhere; MySqlDataReader Reader = dbcmd.ExecuteReader(); while (Reader.Read()) { } 

 public IList GetGroup() { Connection c = new Connection(); Ssortingng connectionSsortingng = c.ConnectionName; OleDbConnection conn = new OleDbConnection(connectionSsortingng); OleDbCommand mycmd = conn.CreateCommand(); DataSet dspendingapps = new DataSet(); dspendingapps.Clear(); mycmd.CommandText = " select g.groupid,g.groupname from tbl_group g order by g.groupname "; conn.Open(); OleDbDataAdapter appreader = new OleDbDataAdapter(mycmd); appreader.Fill(dspendingapps); conn.Close(); IList g = new List(); foreach (DataRow drapp in dspendingapps.Tables[0].Rows) { Group gg = new Group(); gg.GroupId = Convert.ToInt16(drapp["groupid"]); gg.Name = drapp["groupname"].ToSsortingng(); g.Add(gg); } return g; } 

Au lieu d’utiliser un DataReader , utilisez un DataAdapter pour remplir un DataTable . Vous pouvez voir le nombre total de lignes dans le DataTable résultant.

 var results = new DataTable(); var adapter = new SqlDataAdapter(); adapter.SelectCommand = dbcmd; dapater.Fill(results); 

Vous pouvez utiliser le code List ici plutôt que le tableau pour stocker vos données, où T représente le type de données que vous souhaitez stocker, par exemple chaîne, int ou votre type de données personnalisé. Pour utiliser des tableaux, nous devons spécifier la longueur au moment de la compilation, mais avec List nous pouvons stocker des données sans se soucier de la longueur.

Développer la réponse de @Deepansh Gupta: Vous pouvez envisager de créer un object personnalisé ou une structure dont les champs de données internes correspondent aux colonnes renvoyées dans votre jeu de résultats de la requête (chaque object correspond à une ligne de données, chaque variable de données de l’object correspond à une colonne). Les données). Au fur et à mesure que votre code parcourt chaque ligne de résultats, créez un nouvel object personnalisé et ajoutez-le à votre liste.