Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Tips & tricks

#1000 - Spara/läsa bilder från MS Access i Java

Postat 2002-04-29 09:11:31 av Andreas Eriksson i Kategori Programmering, C#, Kommandon med 0 Kommentarer

import java.sql.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;

/**
* This class is used to retreive images from
* an MS Access database.
*/

public class DataObject {

private Connection con;

public DataObject(String databaseName) {
// Connect to the database
connect(databaseName);
}

/**
* This method attempts to load the default driver
* and connect to the specified database.
*
* @param dbName The database name
*/
private void connect(String dbName) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(
"jdbc:odbc:DRIVER=Microsoft Access
Driver*.mdb);DBQ="+dbName+".mdb");
} catch (ClassNotFoundException ce) {
System.out.println(ce.getMessage());
} catch (SQLException se) {
System.out.println(se.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
} catch (Throwable t) {
t.printStackTrace();
}
}

/**
* This method attempt to disconnect from the currently
* connected database.
*/
public void disconnect() {
try {
con.close();
} catch (SQLException se) {
System.out.println(se.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
} catch (Throwable t) {
t.printStackTrace();
}
}

/**
* This method attempt to retreive a image stored
* in the database.
*
* @param pos The image column position.
* @param query The sql query.
* @return The collection with images retreived from the database
*/
public Image getImage(int pos, String query) {
return getImageIcon(pos, query).getImage();
}

/**
* This method attempt to retreive a image icon stored
* in the database.
*
* @param pos The image column position.
* @param query The sql query.
* @return The collection with image icons retreived from the database
*/
public ImageIcon getImageIcon(int pos, String query) {
InputStream is = null;
try {
Statement stmt = con.createStatement();
// Execute the specified query string
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
// Get the BLOB inputstream
is = rs.getBinaryStream(pos);
OutputStream fos = new FileOutputStream("tmpImage.jpg");
byte[] buffer = new byte[1024];
int read;
while ((read = is.read(buffer,0,buffer.length)) != -1) {
fos.write(buffer,0,read);
}
fos.close();
is.close();
}
rs.close();
stmt.close();
} catch (SQLException se) {
System.out.println(se.getMessage());
} catch (FileNotFoundException fe) {
System.out.println(fe.getMessage());
} catch (IOException ie) {
System.out.println(ie.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
} catch (Throwable t) {
t.printStackTrace();
}
return new ImageIcon("tmpImage.jpg");
}

/**
* This method inserts a specified file (image) into the
* currently connected databse.
*
* @param file The file we want to store
* @param pos The column position
* @param query The insert query
*/
public void insertImage(File file, int pos, String query) {
try {
// Example: INSERT INTO tblImage VALUES( ? )
PreparedStatement stmt = con.prepareStatement(query);
InputStream is = new FileInputStream(file);
stmt.setBinaryStream(pos, is, (int)(file.length()));
stmt.executeUpdate();
} catch (SQLException se) {
System.out.println(se.getMessage());
} catch (FileNotFoundException fe) {
System.out.println(fe.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
} catch (Throwable t) {
t.printStackTrace();
}
}
}

Sample:
Size:

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 721
27 958
271 751
5 668
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies