| re: Storing and retreiving rich text from MySQL in VB.net
I think it's a runtime error. But dont worry, I do some research and i develope a code. I'll post the full code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
With Me
Try
Dim ms As MemoryStream = New MemoryStream
'initializing picture
.RichTextBox1.SaveFile(ms, RichTextBoxStreamType.RichText)
Dim bytBlobData(ms.Length - 1) As Byte
ms.Position = 0
ms.Read(bytBlobData, 0, ms.Length)
Dim DatabaseParameter As New MySql.Data.MySqlClient.MySqlParameter("@BlobData", MySql.Data.MySqlClient.MySqlDbType.Blob, bytBlobData.Length, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Current, bytBlobData)
If conn.State = ConnectionState.Closed Then conn.Open()
massCommand = New MySqlCommand
massCommand = conn.CreateCommand
massCommand.CommandText = "insert into `test`" & _
"(`mark-2` ) " & _
"values(@BlobData)"
massCommand.Parameters.Add(DatabaseParameter)
massCommand.ExecuteNonQuery()
Catch ex As Exception
writelog("0001", userid, Now.Date.ToString("MM/dd/yyyy"), Microsoft.VisualBasic.Left(Now.TimeOfDay.ToString, 8), "TEST")
Exit Sub
End Try
End With
End Sub
Private Sub frmTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conn = New MySqlConnection()
'connection
myConnString = "connection to server"
conn.ConnectionString = myConnString
conn.Open()
If conn.State = ConnectionState.Closed Then conn.Open()
massDataTable.Clear()
massCommand = New MySqlCommand
massCommand = conn.CreateCommand
massCommand.CommandText = "SELECT * FROM `test` where `mark-1` = 3"
massAdapter.SelectCommand = massCommand
massAdapter.Fill(massDataTable)
With Me
Dim rtfcontent As Byte() = DirectCast(massDataTable.Rows(0)(1), Byte())
If Not rtfcontent Is Nothing Then
Using stream As New IO.MemoryStream(rtfcontent)
.RichTextBox1.LoadFile(stream, RichTextBoxStreamType.RichText)
End Using
End If
End With
End Sub
|