02. november 2005 - 20:59
Der er
9 kommentarer og 1 løsning
Microsoft Access queries i Java
Jeg har hørt at man kan hente forespørgsler, der er lavet i Access ud med Java. Men hvordan?
Annonceindlæg tema
02. november 2005 - 21:00
#1
Jeg kan vidst godt få fat i forespørgslen. Men ikke rigtig navnene i RecordSet'et
02. november 2005 - 21:05
#2
hvad gør du og hvad virker ikke ?
02. november 2005 - 21:06
#3
eksempel som virker: package october; import java.sql.*; public class AccessQuery { public static void main(String[] args) throws Exception { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:;Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\Databases\\MSAccess\\Test.mdb;"); CallableStatement cstmt = con.prepareCall("{CALL Query5}"); cstmt.execute(); ResultSet rs = cstmt.getResultSet(); while(rs.next()) { System.out.println(rs.getInt(1) + " " + rs.getString(2)); } cstmt.close(); con.close(); } }
03. november 2005 - 09:58
#4
ok... jeg anvender ikke et callablestatement, blot et statement. Så laver jeg en sql: "SELECT * FROM <forespørgsel> WHERE <navnet på kriteriet i access> = " + <en varibel> Med den får jeg at vide at jeg mangler en parameter, det er tilsyneladende fordi den ikke kan finde det ønskede kriterie. Så prøvede jeg at erstatte det med tabel.kolonne = variabel... Fejl: Kan referer til flere...
03. november 2005 - 10:41
#5
package october; import java.sql.*; public class AccessQueryAgain { public static void main(String[] args) throws Exception { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:;Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\Databases\\MSAccess\\Test.mdb;"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM Query5"); while(rs.next()) { System.out.println(rs.getInt(1) + " " + rs.getString(2)); } rs.close(); stmt.close(); con.close(); } } virker også men jeg kan forstå at det er en af de queries som prompter for værd ?!?! det vil jeg lige prøve også
03. november 2005 - 11:15
#6
ja jeg skal finde en sag ud fra et bestemt sagsnummer grunden til at jeg ikke bare laver en simpel sql er at den skal joine fra 3 forskellige tabeller. og bruges i en hovedopgave ;-)
03. november 2005 - 12:02
#7
jeg tror stadig ikke at det er den optimal emåde at gøre det på men følgende ser du til at virke: package october; import java.sql.*; public class AccessQueryPrompt { public static void main(String[] args) throws Exception { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:;Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\Databases\\MSAccess\\Test.mdb;"); CallableStatement cstmt = con.prepareCall("{CALL Query6 ?}"); cstmt.setInt(1, 2); cstmt.execute(); ResultSet rs = cstmt.getResultSet(); while(rs.next()) { System.out.println(rs.getInt(1) + " " + rs.getString(2)); } rs.close(); cstmt.close(); con.close(); } }
03. november 2005 - 12:03
#8
Query5: SELECT * FROM T1; Query6: SELECT * FROM T1 WHERE F1>[MAXF1];
20. december 2005 - 10:37
#9
svar mangler Arne
20. december 2005 - 10:41
#10
kommer her
Kurser inden for grundlæggende programmering