图片存取数据库(java)
来源:互联网 发布:java高级for循环 编辑:程序博客网 时间:2024/06/04 17:45
private String dbDriver;
private String dbURL;
private String dbUser;
private String dbPassword;
private Connection con;
private PreparedStatement ps;
private ResultSet rs;
dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
dbURL = "jdbc:sqlserver://192.168.99.18:1433;DatabaseName =pmmsysdb";
dbUser = "pmmteam1";
dbPassword = "123";
public void initDB() {//初始化数据库连接
try {
// Load Driver
Class.forName(dbDriver).newInstance();
// Get connection
con = DriverManager.getConnection(dbURL,dbUser, dbPassword);
}
catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
catch (SQLException ex) {
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
//图片保存到数据库
public boolean storeImg(String strFile,String orderID,String detailID){
boolean written = false;
if (con == null)
initDB();
else {
int id = 0;
File file = new File(strFile);
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
ps = con.prepareStatement("update pmm_sofapopOrderDetail set picture=? where orderId=? and detailId=?");
ps.setBinaryStream(1, fis, (int) file.length());
ps.setString(2, orderID);
ps.setString(3, detailID);
ps.executeUpdate();
written = true;
}catch (SQLException e) {
written = false;
System.out.println("SQLException: "+ e.getMessage());
System.out.println("SQLState: "+ e.getSQLState());
System.out.println("VendorError: "+ e.getErrorCode());
e.printStackTrace();
}catch(IOException ioe){
ioe.printStackTrace();
}finally {
try {
ps.close();
}
catch (SQLException ex) {
}
try {
fis.close();
}
catch (IOException ex1) {
}
// close db con
try {
con.close();
}
catch (SQLException ex2) {
}
}
}
return written;
}
//从数据库下载图片
public InputStream showImg(String orderID,String detailID) {
InputStream in = null;
try{
if (con == null) initDB();
ps = con.prepareStatement(
"select picture from pmm_sofapopOrderDetail where orderid=? and detailid=?");
ps.setString(1, orderID);
ps.setString(2, detailID);
rs = ps.executeQuery();
rs.next();
in = rs.getBinaryStream("picture");
rs.close();
con.close();
}catch(SQLException s){
try {
rs.close();
con.close();
}
catch (SQLException ex) {
ex.printStackTrace();
}
s.printStackTrace();
}
return in;
}
InputStream is = showImg(dm.getString("orderid", i).trim(),
dm.getString("detailid", i)); //从数据库下载图片
File file = new File(fileName);
RandomAccessFile rFile = null;
try {
rFile = new RandomAccessFile(file, "rw");
rFile.seek(0);
byte bytes[] = new byte[1024];
int ch=0;
while((ch=is.read(bytes))!=-1)
rFile.write(bytes,0,ch);
rFile.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
- 图片存取数据库(java)
- java数据库 存取图片
- 数据库存取图片
- 数据库中存取图片
- 数据库存取图片
- C#数据库存取图片
- 数据库存取图片
- 数据库中存取图片
- 图片的数据库存取
- oracle数据库存取图片
- 数据库中图片存取
- 数据库存取图片类
- 数据库存取图片类
- 数据库图片的存取
- Android 数据库存取图片
- Android 数据库存取图片
- Sqlite数据库图片存取
- Android 数据库存取图片
- asp.net里导出excel表方法汇总
- JFileChooser文件过滤
- 图片与byte数组互相转换
- What's wrong with FND_WEB.PING in Release 12?
- 在原有Struts框架上加入AJAX元素
- 图片存取数据库(java)
- 不能剥夺我加班的权利
- jdbc执行查询返回Vector
- qq2007手动去广告
- CMYK与RGB相互转换(java)
- UML中各种关系说明以及举例
- DIB
- netbeans6.0 java db 和mysql 数据库配置
- jsp技术基础