Click here to Skip to main content
15,891,864 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
Hi all,

I am new to .Net. I know how to store/retrieve a single picture box image into a database. In my project I want to store/retrieve 10 picturebox images into a database.

I tried the following:
Dim Names(9) As String
                Names(0) = pbLT.Name
                Names(1) = pbLI.Name
                Names(2) = pbLM.Name
                Names(3) = pbLR.Name
                Names(4) = pbLL.Name
                Names(5) = pbRT.Name
                Names(6) = pbRI.Name
                Names(7) = pbRM.Name
                Names(8) = pbRR.Name
                Names(9) = pbRL.Name
                Dim pictures(9) As Image
                pictures(0) = pbLT.Image
                pictures(1) = pbLI.Image
                pictures(2) = pbLM.Image
                pictures(3) = pbLR.Image
                pictures(4) = pbLL.Image
                pictures(5) = pbRT.Image
                pictures(6) = pbRI.Image
                pictures(7) = pbRM.Image
                pictures(8) = pbRR.Image
                pictures(9) = pbRL.Image
                Dim pb As New PictureBox
                pb.Image = pictures(0)
                Dim i As Integer = 0
                For index As Integer = 0 To pictures.Length - 1
                    Names(i) = Names(i).Substring(Names(i).Length - 2)
                    pb.Name = Names(i)
                    pb.Image = pictures(index) 
For index As Integer = 0 To pictures.Length - 1 
 
Dim cmd As New SqlCommand("insert into Register(RegCode,picID,binpicData)values(@RegCode,@picID,@binpicData)", con) 
 
Dim mstream As New MemoryStream() 
 
Dim pic As Byte() = mstream.ToArray() 
cmd.Parameters.Add(
 
New SqlParameter("@RegCode", SqlDbType.NVarChar, 50)).Value = txtMI.Text 
cmd.Parameters.Add(
 
New SqlParameter("@picID", SqlDbType.Char, 2)).Value = pb.Name
cmd.Parameters.AddWithValue(
"@binpicData", pic)
 
Try
con.Open()
cmd.ExecuteNonQuery()
con.Close()
 
Catch err As SqlException 
 
End Try
pb.Image.Dispose()
mstream.Close()
i = i + 1
 
Next

I have done like the above here I am trying to insert data into the database but the thing is only first picture box image binary data is inserting in all fields.

Any help is greatly appreciated.

Thanks.

Corrected bad tags. No c# in here.
Posted
Updated 4-Mar-11 7:46am
v4
Comments
Agnahim 3-Mar-11 11:47am    
I think i get what you want to achive, but I can't see how your code can insert binary data into the database, because "pic" and "mstream" never get any data from the image.
Did you shorten your original code?

1 solution

A solution I've used before when dealing with unknown numbers of data is to use an XML scheme;
i.e
<pictures>
  <picture1><![[CDATA[....binary data here....</picture1>
  <picture2><![[CDATA[....binary data here....</picture2>
etc...
<pictures>

The Sql table field will contain this information but you will have to 
parse it when inserting/updating and selecting.

Hope this helps</pictures></pictures>
 
Share this answer
 
v4

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900