Storing and Retrieving Images from SQL Database.
To store an image in to sql server using C#, you need to read image file into a byte array. Once you have image data in byte array, you can easity store this image data in sql server using sql parameters. Following code explains you how to do this.
private void cmdSave_Click(object sender, EventArgs e)
{
try
{
//Read Image Bytes into a byte array
byte[] imageData = ReadFile(txtImagePath.Text);
//Initialize SQL Server Connection
SqlConnection CN = new SqlConnection(txtConnectionString.Text);
//Set insert query
string qry = “insert into ImagesStore (OriginalPath,ImageData) _
values(@OriginalPath, @ImageData)”;
//Initialize SqlCommand object for insert.
SqlCommand SqlCom = new SqlCommand(qry, CN);
//We are passing Original Image Path and
//Image byte data as sql parameters.
SqlCom.Parameters.Add(new SqlParameter(”@OriginalPath”,
(object)txtImagePath.Text));
SqlCom.Parameters.Add(new SqlParameter(”@ImageData”,
(object)imageData));
//Open connection and execute insert query.
CN.Open();
SqlCom.ExecuteNonQuery();
CN.Close();
//Close form and return to list or images.
this.Close();
}
Now to Read it form Database.
To read images from SQL Server, prepare a dataset first which will hold data from SQL Server table. Bind this dataset with a gridview control on form
Take a look at teh following Code
void GetImagesFromDatabase()
{
try
{
//Initialize SQL Server connection.
SqlConnection CN = new SqlConnection(txtConnectionString.Text);
//Initialize SQL adapter.
SqlDataAdapter ADAP = new SqlDataAdapter(”Select * from ImagesStore”, CN);
//Initialize Dataset.
DataSet DS = new DataSet();
//Fill dataset with ImagesStore table.
ADAP.Fill(DS, “ImagesStore”);
//Fill Grid with dataset.
dataGridView1.DataSource = DS.Tables["ImagesStore"];
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Click here if you need a Website
Leave a Reply