Quantcast
Channel: Windows Forms General forum
Viewing all articles
Browse latest Browse all 12583

after converting Bitmap back to MemoryStream not saving proper image

$
0
0

I have a data grid view,in update button i wrote code like this:

Dim cid As Integer
        Dim dtid As Integer
        Dim cmpname As String
        Dim dtname As String
        Dim dtPhone As String
        Dim dtEmail As String
        Dim dtimage As Image


        For i As Integer = 0 To gv.RowCount - 2
            ' Dim rv = DirectCast(bSource.Current, DataRowView)
            Dim rv = DirectCast(gv.Rows(i).DataBoundItem, DataRowView)
            cid = rv.Row.Field(Of Integer)("Cid")

            dtid = rv.Row.Field(Of Integer)("dtId")
            cmpname = rv.Row.Field(Of String)("CompanyName")
            dtname = rv.Row.Field(Of String)("Department")
            dtPhone = rv.Row.Field(Of String)("Phone")
            dtEmail = rv.Row.Field(Of String)("Email")

            Using ms As New MemoryStream(rv.Row.Field(Of Byte())("empimage"))
                dtimage = New Bitmap(ms)
            End Using

            adapter.UpdateCommand = New SqlCommand("UPDATE CompanyMaster_tbl SET CompanyName = @CompanyName", con.connect)
            adapter.UpdateCommand = New SqlCommand("update DepartmentMaster_tbl set dtName = @dtName,dtPhone = @dtPhone,dtEmail = @dtEmail,empimage=@dtimage  where dtId=@dtid", con.connect)
            adapter.UpdateCommand.Parameters.AddWithValue("@Cid", cid)
            adapter.UpdateCommand.Parameters.AddWithValue("@CompanyName", cmpname)
            adapter.UpdateCommand.Parameters.AddWithValue("@dtId", dtid)
            adapter.UpdateCommand.Parameters.AddWithValue("@dtName", dtname)
            adapter.UpdateCommand.Parameters.AddWithValue("@dtPhone", dtPhone)
            adapter.UpdateCommand.Parameters.AddWithValue("@dtEmail", dtEmail)
            adapter.UpdateCommand.Parameters.AddWithValue("@dtimage", dtimage)
            adapter.UpdateCommand.ExecuteNonQuery()
        Next

while executing i am getting error in this line :adapter.UpdateCommand.ExecuteNonQuery() Error:No mapping exists from object type System.Drawing.Bitmap to a known managed provider native type so i made small change in my code ..change is
instead of this line 'adapter.UpdateCommand.Parameters.AddWithValue("@dtimage", dtimage)' i added code like this:

Dim md AsNew MemoryStream()
            dtimage.Save(md, System.Drawing.Imaging.ImageFormat.Gif)Dim imagedata AsByte()= md.ToArray()
 adapter.UpdateCommand.Parameters.AddWithValue("@dtimage", imagedata )

after adding this code am not getting any error..but not saving my image..that saving some another thing..what is wrong with my code,,am working on vb.net window application



Viewing all articles
Browse latest Browse all 12583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>