Solved

Insert Image into SQL Database from VB.NET bound to id field in dataset.

Posted on 2004-08-17
9
298 Views
Last Modified: 2008-03-10
Here is my question and I hope it is clear enough.

In an app I am building, I need to be able to insert and update images in a sql database table that are bound to the id field of the same table. In other words I want to be able to select which id a certain image will correspond with.

I would like to be able to bind the image field to a dataset I have created. I currently have several textboxes bound to a combobox bound to this dataset and would like the image field to be bound to the existing dataset in a similar way. Please provide code and examples. I am using Visual Studio Enterprise Architect 2003. Please let me know if you need more info. Thanks in advance!!!
0
Comment
Question by:patrickkenney
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11825846
0
 

Author Comment

by:patrickkenney
ID: 11826975
I have seen that code and it works great, but what I need is the ability to select an image by a id. I have a database with employee information that I would like to insert images for. I would like to be able to select and employee and insert an image for him/her or update a new image. Can someone provide code for this? Thanks!!
0
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11827383
Hi there,
change the code given in that example...
To select:
     Dim cmd As New SqlCommand("SELECT ImageField From MyTable WHERE EmpId=" & EmpId)
     cmd.Connection = con
     Dim da As New SqlDataAdapter(cmd)
     Dim ds As New DataSet()
     con.Open()
     da.Fill(ds)
     con.Close()
     Dim bits As Byte() = CType(ds.Tables(0).Rows(0).Item(0), Byte())
     Dim memorybits As New MemoryStream(bits)
     Dim bitmap As New Bitmap(memorybits)
     PictureBox1.Image = bitmap
   
To update:
     Dim Data() As Byte 'Say Data() has the binary data of the Image
     Dim cmd As New SqlCommand("UPDATE MyTable SET ImageField=" & Data &" WHERE EmpId=" & EmpId)
     cmd.Connection = con
     con.Open()
     cmd.ExecuteNonQuery
     con.Close()

-Baan
0
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 

Author Comment

by:patrickkenney
ID: 11830983
I receive an error when I try to use &Data& as a variable in the update statement. Help!
0
 
LVL 18

Accepted Solution

by:
DotNetLover_Baan earned 500 total points
ID: 11832543
First read the image file into Data()...

            Dim fs As New FileStream(YourFile.jpg, FileMode.Open)
            Dim Data() As Byte = New [Byte](fs.Length) {}
            fs.Read(Data, 0, fs.Length)

Then update, with SqlCommand.
0
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11832547
what is the error you are getting ??
0
 

Author Comment

by:patrickkenney
ID: 11835369
Well, I figured out what I was doing wrong, but now only the first page of the bitmap shows up when pulled out of the database? Any ideas? Thanks!
0
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11835451
what do you mean by >>"first page of the bitmap "<< ??
0
 

Author Comment

by:patrickkenney
ID: 11835508
Eh, just not my day. Was one of those ID10T errors. Thanks for you help!!!
0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question