Récuperer liste de byte dans base sqlite [Résolu]

Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Dernière intervention
21 juin 2016
- 23 nov. 2010 à 15:28 - Dernière réponse :
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
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?
Afficher la suite 

Votre réponse

5 réponses

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


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

Shao.

Merci Shaolyne 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de Shaolyne
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Dernière intervention
21 juin 2016
- 23 nov. 2010 à 15:58
0
Merci
merci, je vais tester.
Commenter la réponse de Karibot
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
- 23 nov. 2010 à 16:00
0
Merci
Et, peut-être
byte[] body = reader[1].GetBytes(); 



[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Dernière intervention
21 juin 2016
- 23 nov. 2010 à 16:22
0
Merci
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]
Commenter la réponse de Karibot
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Dernière intervention
21 juin 2016
- 23 nov. 2010 à 16:33
0
Merci
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
Commenter la réponse de Karibot

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.