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

VB.NET Discussion :

Convertir liste de Double en Bytes afin de remplir une "varbinary(MAX)" colonne d une base de donnees.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut Convertir liste de Double en Bytes afin de remplir une "varbinary(MAX)" colonne d une base de donnees.
    Bonjour,

    Voila mon probleme : Il me faut implementer une base de données. Comme j ai pas mal de données á enregistrer, j ai cru comprendre qu on sauvait pas mal de place en enregistrant en "varbinary(MAX)" plutot qu en serie de "double". Mon probleme est que je n arrive pas a comprendre comment convertir ma liste de double en bytes afin pouvoir remplir ma base de données.

    Exemple : Les colonnes de la table de ma DB a remplir sont :
    CELLID, ReturnPeriod, Duration, Depths
    les trois premiers sont des entiers et Depths est varbinary(MAX).

    Ce que je ne comprends pas c'est que faut il mettre a la place des X pour que cela marche ... Je suppose qu il me faut utiliser BitConverter.GetBytes, mais j y arrive pas

    Code a trous ... :


    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Dim m_Depths As New List(Of Double)
    
    m_Depths.Add(1.4)
    
    m_Depths.Add(18.67)
    
    m_Depths.Add(150.65)
    
    Dim ARRAYOFBYTES As New X
    
    For i As Integer = 0 To 2
    
    ARRAYOFBYTES = BitConverter.GetBytes(X)
    
    Next
    
    m_DbConn.Open()
    
    m_cmdInsertCellRainfall.Parameters("@CellID").Value = 31
    
    m_cmdInsertCell.Parameters("@ReturnPeriod").Value = 32
    
    m_cmdInsertCell.Parameters("@Duration").Value = 33
    
    m_cmdInsertCell.Parameters("@Depths").Value = ARRAYOFBYTES
    
    m_cmdInsertCell.ExecuteNonQuery()
    
    m_DbConn.Close()

    Merci.

    Slumpy

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    un double = 8 octets
    un varbinary permet de contenir des octets
    un double transformé en octets ... et bah ca fait 8 octets

    donc je vois pas en quoi tu gagnerais de la place en écrivant un traitement compliqué ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Convertir List en Vector
    Par michaelbob dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 10/05/2011, 16h25
  2. liste chainée double
    Par Stevie Wonder dans le forum C
    Réponses: 11
    Dernier message: 21/11/2006, 12h13
  3. Convertir complètement un double en String
    Par BoudBoulMan dans le forum Langage
    Réponses: 2
    Dernier message: 23/10/2006, 19h38
  4. Liste chainée double générique
    Par issou dans le forum C
    Réponses: 3
    Dernier message: 11/11/2005, 02h48
  5. [LG]Convertir le type double en string
    Par @tom@ dans le forum Langage
    Réponses: 8
    Dernier message: 18/01/2004, 19h20

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