1. create table in database
CREATE TABLE [dbo].[tbl_Image_Data]
(
[ID] [int] NOT
NULL ,
[Name] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Picture] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
2. add picturebox and name it pb and two buttons "browse" and "save"
3. First of all browse image from computer to pictureBox
private void btnBrowse_Click(object sender, EventArgs
e)
{
Stream myStream = null;
OpenFileDialog openFileDialog = new OpenFileDialog();
// openFileDialog.InitialDirectory =
Environment.GetFolderPath(Environment.SpecialFolder.Personal);
openFileDialog.Filter = "Image
Files(*.jpg; *.jpeg; *.bmp)|*.jpg; *.jpeg; *.bmp";
if (openFileDialog.ShowDialog(this) == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog.OpenFile()) != null)
{
string FileName = openFileDialog.FileName;
txtImagepath.Text =
FileName;
if (myStream.Length > 512000)
{
MessageBox.Show("File
size limit exceed");
}
else
{
//pb is my pictureBox name load image in pb
pb.Load(FileName);
//stretch image to fit in picturebox
pb.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
}
//MessageBox.Show(myStream.Length.ToString());
}
}
catch (Exception
ex)
{
MessageBox.Show("Error: Could
not read file from disk. error: " + ex.Message);
}
}
}
2.save this to sql server
private long ImageFileLength = 0;
private byte[]
byte_Img;
private void
btnSave_Click(object sender, EventArgs e)
{
//retrive the file size by using FileInfo class
FileInfo fi = new
FileInfo(txtImagepath.Text);
this.ImageFileLength = fi.Length;
//using FileStream object, fill the
byte array.
FileStream fst = new FileStream(txtImagepath.Text, FileMode.Open, FileAccess.Read,
FileShare.Read);
byte_Img = new byte[Convert.ToInt32(this.ImageFileLength)];
int iBytesRead = fst.Read(byte_Img, 0, Convert.ToInt32(this.ImageFileLength));
fst.Close();
}
try
{
this.sqlConnection1.Open();
if (sqlCommand1.Parameters.Count == 0)
{
this.sqlCommand1.CommandText = "INSERT INTO tbl_Image_Data(ID," +
" Name,Picture) values(@ID,@Name,@Picture)";
this.sqlCommand1.Parameters.Add("@ID",
System.Data.SqlDbType.Int, 4);
this.sqlCommand1.Parameters.Add("@Name",
System.Data.SqlDbType.VarChar, 50);
this.sqlCommand1.Parameters.Add("@Picture",
System.Data.SqlDbType.Image);
}
this.sqlCommand1.Parameters["@ID"].Value = this.ID.Text;
this.sqlCommand1.Parameters["@Name"].Value = this.Name.Text;
this.sqlCommand1.Parameters["@Picture"].Value = this.byte_Img;
int result = this.sqlCommand1.ExecuteNonQuery();
MessageBox.Show(Convert.ToString(result));
}
catch (Exception
ex)
{
MessageBox.Show(ex.Message);
}
finally
{
this.sqlConnection1.Close();
}
}
No comments:
Post a Comment