1. How to save images in the database
2. How to retrieve images back from the database
To save and retrieve images first you should create a table with required fields (Eg. Image Id, Image Name, Image). Lets us now first see how to save images into the database.
Save Images into database
2. Code to insert images into database
public partial class Form1 : Form
{
OpenFileDialog open;
public Form1()
{
InitializeComponent();
}
//code for UPLOAD button
//opens a file dialog for user to choose image to upload
private void btnUpload_Click(object sender, EventArgs e)
{
open = new OpenFileDialog();
open.InitialDirectory = @"C:\";
open.Filter = "[JPG,JPEG,GIF,BMP]|*.jpg; *.jpeg; *.gif; *.bmp";
open.ShowDialog();
}
//code for SAVE button
//convert image to byte array and save it in databse
private void btnSave_Click(object sender, EventArgs e)
{
if (txtImageName.Text == "")
{
MessageBox.Show("Enter image Name");
}
else
{
FileStream fs = new FileStream(@open.FileName, FileMode.Open, FileAccess.Read);
byte[] image = new byte[fs.Length];
fs.Read(image, 0, Convert.ToInt32(fs.Length));
string name = txtImageName.Text;
//create database connection
string connectionString = "Data Source=abc;Initial Catalog=abc;User ID=abc;Password=abc";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
//sql statement to insert image into database
string sql = "INSERT INTO Images (ImageName, Image) VALUES (@ImageName, @Image)";
//code to insert into database
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddWithValue("@ImageName", name);
cmd.Parameters.AddWithValue("@Image", image);
//check if image is added to database
int result = cmd.ExecuteNonQuery();
if (result > 0)
MessageBox.Show("Image Successfully Added!");
else
MessageBox.Show("Failed to Add Image!");
}
}
}
Retrieve Images from database
1. Create a form as shown below
2. Code for View button
//create database connection
string connectionString = "Data Source=abc;Initial Catalog=abc;User ID=abc;Password=abc";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
//sql query to retrive data from database
string sql = "SELECT Image FROM Images WHERE ImageName = @ImageName";
SqlCommand cmd = new SqlCommand(sql, connection);
SqlParameter param = new SqlParameter();
param.ParameterName = "@ImageName";
param.Value = comboBox1.SelectedValue;
cmd.Parameters.Add(param);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
//display the retrieved image
MemoryStream ms = new MemoryStream((byte[])dt.Rows[0]["Image"]);
pictureBox1.Image = Image.FromStream(ms);
pictureBox1.Refresh();
}


No comments:
Post a Comment