ذخیره عکس در بانک اطلاعاتی (سی شارپ)
چهارشنبه 6 آذر 1392سلام در این مقاله میخواهیم تصاویر رو در خود بانک اطلاعاتی ذخیره کنیم

سلام در این مقاله میخواهیم تصاویر رو در خود بانک اطلاعاتی ذخیره کنیم
ابتدا باید بانک را ایجاد کنیم
میتوانید بانکی در SQL با نام SaveImageInDB ایجاد کنید و اسکریپت زیر را روی آن اجرا کنید تا جدول مورد نظر ساخته بشه
USE [SaveImageInDB] GO /****** Object: Table [dbo].[Persons] Script Date: 11/27/2013 13:35:23 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Persons]( [PersonID] [int] IDENTITY(1,1) NOT NULL, [PersonName] [nvarchar](150) NOT NULL, [PersonImage] [image] NOT NULL, CONSTRAINT [PK_Persons] PRIMARY KEY CLUSTERED ( [PersonID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO
مرحله بعد ساختن برنامه اصلی
ابتدا فرم را بسازید
کد ها به شرح ذیل می باشد
کد کلید انتخاب تصویر
OpenFileDialog op=new OpenFileDialog(); if(op.ShowDialog()==DialogResult.OK) { txtImage.Text = op.SafeFileName; pictureBox1.ImageLocation = op.FileName; }
کد کلید ذخیره در بانک
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=SaveImageInDB;User ID=sa;Password=123"); string query = "Insert Into Persons (PersonName,PersonImage) Values (@PersonName,@PersonImage)"; SqlCommand com=new SqlCommand(query,con); com.Parameters.AddWithValue("@PersonName", txtName.Text); com.Parameters.AddWithValue("@PersonImage", ImageToByte(pictureBox1.Image)); con.Open(); com.ExecuteNonQuery(); con.Close(); BindGrid();
خب برای ذخیره تصویر در بانک ما جنس ستون مورد نظر را از نوع Image در نظر گرفتیم
که در این باید مقادیر به صورت Byte ذخیره شوند
در کدها متدی وجود دارد که تصویر را گرفته و به صورت Byte خروجی برمیگرداند
public static byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); }
برای بایند کردن تصاویر به گریدویو هم باید جنس ستون از نوع Image باشه
نمونه ضمیمه کردم
امیدوارم خوشتون اومده باشه
موفق و پیروز باشید
- C#.net
- 38k بازدید
- 50 تشکر