一聚教程网:一个值得你收藏的教程网站

热门教程

asp.net 图片保存SQL Server并显示图片的方法

时间:2022-06-25 06:05:44 编辑:袖梨 来源:一聚教程网

/asp教程.net 图片保存sql server并显示图片的方法

private void form1_load(object sender, eventargs e)  
        {  
            filestream fs = new filestream(@"c:e06d3510ebfde555cb80c4de.jpg", filemode.open);  
            int ilength = int.parse(fs.length.tostring());//获取当前文件的长度  
            byte[] filebyte = new byte[ilength];//创建一个byte[]的数组,用来保存文件的内容  
            fs.read(filebyte, 0, ilength);//通过read方法,把文件的内容读取到byte[]数组中。  
            fs.dispose();  
            sqlconnection conn = new sqlconnection(@"server=localhost;integrated security=sspi;initial catalog=qq");  
            //插入数据库教程  
            string strsql = "insert into tbl_image (img) values(@img)";  
            sqlcommand cmd = new sqlcommand(strsql, conn);  
            cmd.parameters.add("@img", sqldbtype.image, ilength).value = filebyte;  
            //通过赋值保存的图片的参数的值,为sqldbtype.binary  
            conn.open(); //打开连接  
            cmd.executenonquery(); //执行命令  
            conn.close();  
 
        } 


//显示数据库中的图片

private void button1_click(object sender, eventargs e)  
       {  
           byte[] filecontent;  
           using (sqlconnection conn = new sqlconnection(@"server=localhost;integrated security=sspi;initial catalog=qq"))  
           {  
               string strsql = "select img from tbl_image";  
               sqlcommand cmd = new sqlcommand(strsql, conn);  
               conn.open();  
               sqldatareader dr = cmd.executereader();  
               //以上步骤完成一般的sqlcommand的命令的执行,  
               //返回了一个sqldatareader把图片的内容赋值到一个byte[]数组上。  
               if (dr.read())  
               {  
                   filecontent = (byte[])dr["img"];  
               }  
               else 
               {  
                   filecontent = new byte[0];  
               }  
               dr.close();  
           }  
           memorystream ms = new memorystream(filecontent, 0, filecontent.length);  
           this.pbshowimage.image = image.fromstream(ms);  
           //关闭内存流  
           ms.close();  
       } 

热门栏目