Announcement

Collapse
No announcement yet.

MemoryStream in SQL Tabelle speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MemoryStream in SQL Tabelle speichern

    Hallo,

    ich muss einen MemoryStream der XML Daten eines Objektes enthält in einer SQL Server Tabelle speichern (Vilual Studio 2003 / NET 1.1 / Microsoft SQL Server 2000).

    Igendwie krieg ich das nicht gebacken. Vieleicht kann mir ja jemand eine Tip geben ?!

  • #2
    Hallo,
    die MS SQL Server-Tabelle stellt eine <b>IMAGE</b>-Spalte für die BLOb-Daten zur Verfügung. Wenn der MemoryStream gefüllt ist, kan dieser über <b>ToArray</b> in ein Byte-Array entladen werden. Eine SqlCommand-Instanz führt dann die INSERT-Anweisung aus (Bsp: "INSERT INTO OSPICTURES (Remark,JPG) VALUES (@Remark,@JPG)"), wobei Parameter verwendet werden. Das Byte-Array wird dann dem Parameter zugewiesen, bevor <b>ExecuteNonQuery</b> ausgeführt wird:
    <code>
    Dim aCon As New SqlConnection(cCS)
    aCon.Open()
    Try
    Dim aCmd As New SqlCommand(cSQL, aCon)
    With aCmd
    .Parameters.Add("@Remark", Me.TextBoxComment.Text)
    .Parameters.Add("@JPG", aByteArray)
    .ExecuteNonQuery()
    End With
    Finally
    aCon.Close()
    End Try
    </code&gt

    Comment


    • #3
      Das war der richtige Denkanstoß.
      Ich hatte es versucht mit einem Beispiel aus dem MSDN.
      Dort wurde das Bytearray auf eine andere Art gefüllt:

      Dim fs As New MemoryStream
      ...
      ...
      Dim b(fs.Length() - 1) As Byte
      fs.Read(b, 0, b.Length)

      Das ergab bei mir aber immer nur 0 Werte.

      Andrea

      Comment

      Working...
      X