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
41
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