`
mangtong_3377
  • 浏览: 4074 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

SQLServer数据库中插入、读取图片

阅读更多
package zcl.todb.db;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class OperationDB {
private ConnectDB db;
public OperationDB(){
  this.db=new ConnectDB();
}
public boolean insertImage(String filename){//想数据库中插入图片的方法,filename是图片的名字。
  boolean res=false;
  Connection con=this.db.getConnectDB();
  String sql="insert into image values(?,?)";
  try {
   PreparedStatement pst=con.prepareStatement(sql);
   pst.setString(1, "image");
   FileInputStream file=new FileInputStream(filename);
   pst.setBinaryStream(2, file, file.available());
   pst.executeUpdate();
   res=true;
   pst.close();
   this.db.closeDB(con);
  } catch (SQLException e) {
   e.printStackTrace();
  } catch (FileNotFoundException e) {
   System.out.println("文件没有被发现");
  } catch (IOException e) {
   System.out.println("文件IO流出现错误");
  }
  return res;
}
public boolean getImage(OutputStream os){//读数据的方法。
  boolean res=false;
  Connection con=this.db.getConnectDB();
  String sql="select * from image where id=?";
  try {
   PreparedStatement pst=con.prepareStatement(sql);
   pst.setInt(1, 5);
   ResultSet rs=pst.executeQuery();
   if(rs.next()){
    InputStream in=rs.getBinaryStream("image");
    byte b[]=new byte [1024];
    int i=0;
    while((i=in.read(b, 0, 1024))!=-1){
     os.write(b, 0, i);
    }
    res=true;
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return res;
}
public static void main(String[] args) {
  OperationDB op=new OperationDB();
  //if(op.insertImage("D:/temp.png")){//使用上面的方法,进行插入读取SQLServer数据库中的图片
  // System.out.println("图片插入成功!!");
  //}
  try {
   FileOutputStream os=new FileOutputStream("d:/temp0.png");
   if(op.getImage(os)){
    System.out.println("OK");
   }
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }
}
}

分享到:
评论

相关推荐

    Python访问SQLServer数据库

    本文将详细讲解如何使用Python访问SQLServer数据库,包括所需的库、连接配置以及基本操作。 首先,Python访问SQLServer数据库主要依赖于`pyodbc`库,这是一个强大的ODBC驱动程序,可以让我们通过Python连接到多种...

    vs自带数据库sql server的中文插入乱码问题、查找当前数据库名

    解决两个问题:vs自带数据库sql server的中文插入乱码问题、查找当前数据库名 (查找数据库名在文章中间,自己往下翻吧,不单拎出来了) vs自带数据库sql server的中文插入乱码问题: 如图所示,我插入表的中文变成...

    ASP.NET如何存取SQL Server数据库图片

    本文将深入探讨如何在ASP.NET应用程序中存取存储于SQL Server数据库中的图片,这一技能对于构建功能丰富的网站或应用至关重要。 ### 核心知识点:ASP.NET与SQL Server数据库图片操作 #### 1. 数据库设计与结构 ...

    C++使用ADO连接SQL Server数据库源代码

    当需要在C++程序中与SQL Server数据库交互时,通常会采用ActiveX Data Objects(简称ADO)技术。以下将详细讲解如何使用C++通过ADO连接到SQL Server数据库,并基于提供的"ConnDatabase"源代码进行学习。 1. ADO简介...

    C# SQL Server数据库操作DLL

    在.NET开发环境中,C#与SQL Server数据库的交互是常见的任务。这个压缩包"**C# SQL Server数据库操作DLL**"提供了一种便捷的方式,通过一个动态链接库(DLL)来处理这些操作,免去了手动编写大量基础数据库访问代码...

    Kepserver通过ODBC 读写SQL数据库

    这种功能对于监控、控制和分析工业环境中的数据非常有用,因为它允许来自各种系统的应用程序无缝地访问和操作SQL Server数据库中的信息。 总的来说,KEPServerEX通过ODBC与SQL Server的集成提供了一种灵活且高效的...

    zktime5.0考勤机连接sqlserver数据库,创建及连接方法.pdf

    4. 数据库脚本:sqlserver数据库脚本是一种用于创建和管理数据库的脚本语言,例如可以使用sqlserver.sql文件来创建数据库结构和插入初始数据。 5. 数据库安全:为了保护数据库的安全,需要对数据库进行权限设置、...

    学习PB与SQL Server数据库的连接

    1. **在数据库中创建学生表**:首先需要在SQL Server数据库中创建一个名为“学生表”的表,包含字段`SNO`(学号)、`SNAME`(姓名)、`SSEX`(性别)、`SAGE`(年龄)和`SADDR`(地址)。然后向该表中插入几条示例记录以供后续...

    如何把图片以二进制方式存入SQL_Server数据库_并能读取出来

    ### 如何将图片以二进制方式存入SQL Server数据库并读取出来 在实际的应用开发过程中,我们经常需要处理图像文件,例如用户头像、产品图片等。这些图像文件通常体积较大,不适合直接存储为文件系统中的独立文件,...

    sqlServer 数据库存储图片与读取.rar

    在SQL Server数据库中存储图片是一种常见的需求,尤其是在开发包含多媒体数据的应用程序时。这篇文档将详细探讨如何在SQL Server中存储图片以及如何使用C#语言进行读取和下载操作。 首先,我们来看如何在SQL Server...

    MFC(VS)保存图片到SQLServer数据库

    通过以上步骤,你可以在MFC应用中实现从本地文件读取图片并将其存储到SQL Server数据库的功能。这个过程涉及了数据库连接、数据读取、数据插入以及数据库操作的错误处理等多个方面,对于理解和提升MFC应用的数据库...

    图片存到SQL Server数据库中

    以下是一个简单的示例,演示如何将图片存储到SQL Server数据库中,并从中读取出来显示: ```vbnet Imports System.Data.SqlClient Imports System.IO Public Class Form1 Private Sub Form1_Load(sender As Object...

    qt 操作 sql server 数据库

    这个项目"qt 操作 sql server 数据库"将展示如何使用Qt与SQL Server进行交互,实现数据的CRUD(创建、读取、更新和删除)操作。 首先,我们需要了解Qt中的SQL模块,它提供了与多种数据库系统的接口,包括SQL Server...

    Flash连接SQLServer数据库

    ### Flash连接SQLServer数据库知识点详解 #### 一、引言 随着互联网技术的发展,Flash作为一种广泛使用的多媒体技术,在网络动画、交互式应用等方面发挥了重要作用。然而,为了实现更丰富的功能和更强的数据处理...

    C#语言和SQL Server数据库基础第9章.zip

    【C#语言与SQL Server数据库基础】\n\n在学习C#语言与SQL Server数据库的基础知识时,我们首先需要理解C#作为微软开发的一种面向对象的编程语言,它在.NET框架下提供了强大的功能,适用于构建各种类型的应用程序,...

    C#中读取sql server的数据,并在datagridview中显示

    总结来说,上述代码段展示了在C#中如何利用`SqlConnection`、`SqlCommand`、`SqlDataAdapter`以及`DataSet`等类来实现与SQL Server数据库的交互,再通过`DataGridView`控件将数据直观地展示给用户。整个流程覆盖了...

    SQLServer数据库优化之50种方法

    本文将根据给定的信息,详细阐述部分重要的SQL Server数据库优化方法,并对这些方法进行深入解读。 #### 1. 避免不必要的查询 - **概述**:避免执行那些实际上并不需要的查询操作,比如在编写存储过程或触发器时,...

    图片文件在SQL Server数据库的存取

    在SQL Server数据库中存储和检索图片文件是一种常见的需求,特别是在构建具有媒体内容的Web应用程序时。本文将深入探讨如何利用C#语言与SQL Server数据库进行交互,以实现图片文件的存取。 首先,我们需要理解SQL ...

    c#及SQL server数据库——简单的图书管理系统

    《C#与SQL Server数据库:构建简易图书管理系统》 在信息技术领域,开发一个图书管理系统是一项常见的练习,它有助于我们理解数据库操作和客户端应用程序的交互。本项目以C#编程语言和SQL Server数据库为核心,实现...

Global site tag (gtag.js) - Google Analytics