码迷,mamicode.com
首页 > 数据库 > 详细

C# SQLserver数据库图片存取

时间:2015-08-25 23:55:38      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

   #region 数据库图片存取
        /// <summary>
        /// <strong><span style="color:#ff0000;">导入图片到数据库</span></strong>
        /// </summary>
        /// <param name="filePath"></param>
        public void Import(string filePath)
        {
            string fileName = filePath.Substring(filePath.LastIndexOf(@"\")+1, filePath.LastIndexOf(".")-filePath.LastIndexOf(@"\")-1); 
            FileStream fileStream = new FileStream(filePath, FileMode.Open);
            byte[] imageBytes = new byte[fileStream.Length];
            BinaryReader binaryReader = new BinaryReader(fileStream);
            imageBytes = binaryReader.ReadBytes(Convert.ToInt32(fileStream.Length));

            SqlConnection sqlConnection = new SqlConnection(@"data source=PANLEE-PC\MSSQLSERVER_2;initial catalog=DBImage;integrated security=true");
            sqlConnection.Open();
            SqlCommand sqlCommand=new SqlCommand();
            sqlCommand.Connection = sqlConnection;
            try
            {
                string sqlCreate = @"Create Table Portraits(
                                   学号 varchar(50),
                                   照片 image,
                                   )";
                sqlCommand.CommandText = sqlCreate;
                sqlCommand.ExecuteNonQuery();
            }
            catch { }

            sqlCommand.CommandText= "insert into Portraits (学号, 照片) values(@ID,@Image)";
            sqlCommand.Parameters.Add("Image", SqlDbType.Image);
            sqlCommand.Parameters.Add("ID", SqlDbType.VarChar);
            sqlCommand.Parameters["ID"].Value = fileName;
            sqlCommand.Parameters["Image"].Value = imageBytes;
            sqlCommand.ExecuteNonQuery();
            sqlConnection.Close();
        }
      
        /// <summary>
        //<strong>/<span style="color:#ff0000;">导出图片</span></strong>
        /// </summary>
        /// <param name="SID"></param>
        /// <returns>bitmap</returns>
        public Bitmap Export(string SID)
        {
            byte[] imagebytes = null;
            SqlConnection sqlConnection = new SqlConnection(@"data source=PANLEE-PC\MSSQLSERVER_2;initial catalog=DBImage;integrated security=true");
            sqlConnection.Open();
            SqlCommand sqlCommand = new SqlCommand("select 照片 from Portraits where 学号=@ID", sqlConnection);
            sqlCommand.Parameters.Add("ID", SqlDbType.VarChar);
            sqlCommand.Parameters["ID"].Value = SID;
            SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
            while (sqlDataReader.Read())
            {
                imagebytes = (byte[])sqlDataReader.GetValue(0);
            }
            sqlDataReader.Close();
            sqlCommand.Clone();
            sqlConnection.Close();
            MemoryStream ms = new MemoryStream(imagebytes);
            Bitmap bitmap = new Bitmap(ms);
            return bitmap;
        }
        #endregion

版权声明:本文为博主原创文章,未经博主允许不得转载。

C# SQLserver数据库图片存取

标签:

原文地址:http://blog.csdn.net/ilipan/article/details/47984553

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!