Récuperer liste de byte dans base sqlite

Résolu
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 - 23 nov. 2010 à 15:28
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 - 23 nov. 2010 à 16:33
Bonjour,
j'ai un petit souci que je vous explique de suite:
j'ai une base de données construite avec sqlite qui contient une table avec deux champs (pour faire simple :) ). un champ id et un champ html qui contient de l'html mais compressé avec gzip ;). le champ est donc enregistré comme 'byte'.
j'essaye de récupérer cela en c#, pour décompression et traitement; je fais (après m'être connecté à ma bd):


string req = "SELECT id, html from myTable";
SQLiteCommand cmd = connexion.CreateCommand();
cmd.CommandText = req;

SQLiteDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                Int32 id = (Int32)reader[0];
                byte[] body = reader.GetBytes[1];
            }


mais la dernière ligne ne passe pas! la première passe bien (me retourne l'id) mais pour la dernière j'ai un message d'erreur:
"Impossible d'appliquer l'indexation à l'aide de [] à une expression de type 'groupe de méthodes' "

quelqu'un a une idée?

5 réponses

Shaolyne Messages postés 155 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 8 mars 2011 1
23 nov. 2010 à 15:50
Essaye plutôt ceci:
byte[] body = (byte[])reader[1];


Cependant, ce genre de casting n'est pas vraiment safe...

Shao.
3
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
23 nov. 2010 à 15:58
merci, je vais tester.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
23 nov. 2010 à 16:00
Et, peut-être
byte[] body = reader[1].GetBytes(); 



[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
23 nov. 2010 à 16:22
merci Chaolyne, ta méthode fonctionne très bien. qu'entend tu par "pas très safe"? quel est le risque?
pour Casy, j'ai testé mais fonctionne pas... j'ai pas de méthode GetBytes après reader[1]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
23 nov. 2010 à 16:33
Autres question,
comment je fais pour ma requête se porte sur deux bases? en d'autres termes, comment 'attacher' une autre bases de données...
l'idée c'est d'avoir une requete SQL de ce type: select id, value, body from myTable inner join maTble2
sachant que value est dans une autre base qui contient myTable2
0
Rejoignez-nous