Saturday, November 15, 2008

Saving Image to sql server in .NET

Saving Image to sql server in VB.NET

Dim oImg As FileStream
Dim oBinaryReader As BinaryReader
Dim oImgByteArray As Byte()

oImg = New FileStream(txtPath.Text, FileMode.Open, FileAccess.Read)
oBinaryReader = New BinaryReader(oImg)
oImgByteArray = oBinaryReader.ReadBytes(oImg.Length)

oBinaryReader.Close()
oImg.Close()

Pass this oImgByteArray to the query

NOTE: Sometimes query wont work then we have to use stored procedure for storing images and parameterized query for MS Access.

eg: in MS SQl
Try
Dim cmd As New SqlCommand()
cmd.CommandText = "AddImage"
cmd.CommandType = CommandType.StoredProcedure

cmd.Parameters.AddWithValue("@image",
oImgByteArray)

If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.Connection = con
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
con.Close()
End Try

eg: in MS Access

cmd.CommandText = insert into tablename values(@image) ;
cmd.Parameters.Add("@image",
oImgByteArray );

OleDbParameter par1 = new OleDbParameter("@image", image1);
par1.SourceColumn = "image";
cmd.Parameters.Add(par1);

cmd.Connection = conn ;
cmd.ExecuteNonQuery();
------------------------------------------------------------------------------------------------------------------------



Click here for coverting VB .NET to C#.NET and viseversa

No comments: