IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[SQLite] Comment lire un champ BLOB ?


Sujet :

Langage SQL

  1. #1
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut [SQLite] Comment lire un champ BLOB ?
    Bonjour,

    Windows 2000 Pro
    J'utilise la librairie :ADO.NET 2.0 Provider for SQLite
    C# 2005 Express
    SQLite

    TableLines est un champ BLOB avec des donnnées binaires.
    Coment récupérer les données qu'il contient ?
    Faut-il sauvegarder la dimension du BLOB pour pouvoir dimensionner correctement un tableau de bytes au moment de la récupération ?

    Merci
    Tintin92


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
                    using (DbConnection cnn = new SQLiteConnection("Data Source=DBLines.db3"))
                    using (DbCommand cmd = cnn.CreateCommand())
                    {
                        cmd.CommandText = "SELECT PointPairsList FROM TableLines WHERE PointPairsList IS NOT NULL";
     
                        cnn.Open();
                        using (DbDataReader rd = cmd.ExecuteReader())
                        {
                            if (rd.Read() == false) throw new ArgumentOutOfRangeException();
                            rd.GetBytes(0, 0, baSeri, 0, 10);
                        }
     
                    }

  2. #2
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut
    J'ai trouvé la réponse.

    private void btDeserializeLine_Click(object sender, EventArgs e)
    {
    try
    {
    using (DbConnection cnn = new SQLiteConnection("Data Source=DBLines.db3"))
    using (DbCommand cmd = cnn.CreateCommand())
    {
    cmd.CommandText = "SELECT PointPairsList FROM TableLines WHERE PointPairsList IS NOT NULL";
    cnn.Open();
    using (DbDataReader rd = cmd.ExecuteReader())
    {
    if (rd.Read() == false) throw new ArgumentOutOfRangeException();
    long length = rd.GetBytes(0, 0, null, 0, 0);
    byte[] baDeseri = new byte[length];
    rd.GetBytes(0, 0, baDeseri, 0, baDeseri.Length);

    BinaryFormatter formatter = new BinaryFormatter();
    MemoryStream ms = new MemoryStream(baDeseri);
    list2 = (PointPairList)formatter.Deserialize(ms);
    ms.Close();
    }

    }
    }
    catch (Exception exc)
    {
    MessageBox.Show(exc.Message);
    }

    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment lire un champ image dans acces
    Par colorid dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/07/2011, 11h25
  2. [Base de donnée] Écrire et Lire un champs BLOB dans MySQL
    Par DevMicroEtDB dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/11/2010, 02h37
  3. [SQL SERVER 2000] Comment declarer un champ blob?
    Par Fabrice ROUXEL 1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/04/2007, 09h54
  4. [SQL] Comment lire un champ CLOB
    Par scorpking dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/05/2006, 09h47
  5. comment lire le champs BLOB
    Par simcity1969 dans le forum InterBase
    Réponses: 5
    Dernier message: 05/10/2005, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo