?
Solved

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

Posted on 2004-08-17
9
Medium Priority
?
303 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
  • 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 2000 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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Suggested Courses

840 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