Ich greife mittels Java auf eine *.mdb Datenbank zu - mit dem entsprechenden mdb Treiber. Wenn ich aber eine sql Abfrage mache, wo
unter einer bestimmten Bedingung ausgefiltert werden soll, bringt er mir folgenden Fehler: java.sql.SQLException Die ausgewählte Sortierreihenfolge wird nicht vom Betriebssystem unterstützt.
Code:
(ResultSet) datenmenge = (Statement) befehl.executeQuery(„Select * from Nachricht where ID=‚1‘“);
wenn ich das „where ID=‚1‘“ weglasse funktioniert es.
Hast Du mehr Code und evtl die Datenbankstruktur.
Kannst es mir auch mailen.
Gruss, Simon
Hier der Code, wäre spitze wenn du mir helfen könntest
import java.sql.*;
import java.io.*;
import javax.swing.*;
import javax. swing.table.*;
import java.awt.*;
public class Datenbank
{
public String URL;
public Statement befehl;
PreparedStatement psbefehl;
public Connection verbindung;
public ResultSet datenmenge;
public Object An;
public Object Betreff;
public Object Datum;
public Object Größe;
public Datenbank()
{
URL = „jdbc:odbc:stuck_out_tongue:ostausgang“;
try
{
Class.forName(„sun.jdbc.odbc.JdbcOdbcDriver“);
}
catch(Exception esql)
{
System.out.println(„Nicht vorhanden!“);
}
//Verbindung zur Datenbank aufbauen
befehl = null;
verbindung = null;
try
{
verbindung = DriverManager.getConnection(
URL,
null,
null);
befehl = verbindung.createStatement();
}
catch (Exception e)
{
System.err.println(„Verbindung zur url konnte nicht hergestellt werden!“);
}
}
public String lesenInhaltPostausgang(int id)
{
String sreturn = null;
try
{
datenmenge = null;
datenmenge = befehl.executeQuery(„SELECT * FROM Nachricht WHERE ID=‚1‘“);
while(datenmenge.next())
{
sreturn = datenmenge.getString(„Inhalt“);
}
verbindung.close();
}
catch (Exception e)
{
System.out.println(e);
}
return sreturn;
}
}
public static void main(String[] args)
{
Datenbank data = new Datenbank();
String lesen = data.lesenInhaltPostausgang(2);
}
}
Ich greife mittels Java auf eine *.mdb Datenbank zu - mit dem
entsprechenden mdb Treiber. Wenn ich aber eine sql Abfrage
mache, wo
unter einer bestimmten Bedingung ausgefiltert werden soll,
bringt er mir folgenden Fehler: java.sql.SQLException Die
ausgewählte Sortierreihenfolge wird nicht vom Betriebssystem
unterstützt.
Die Meldungen von Access sind nicht wirklich gut 
befehl.executeQuery(„Select * from Nachricht where ID=‚1‘“);
Wie ist denn der datentyp der Spalte Id?
Wenns Zahl ist dann id = 1 ohne Anführungszeichen
- Variante: Frag mal die Spalten direkt ab… also z.B. „select id,text from nachricht“
Michael
Hallo Gabriel,
Der Fehler war ganz einfach:
Du hast versucht bei der Where-Bedingung die ID mit einem String zu vergleichen. ID ist aber ein Integer.
D.h.
FALSCH:
SELECT * FROM Nachricht WHERE ID=‚1‘
RICHTIG:
SELECT * FROM Nachricht WHERE ID=1
Du musst die Feldtypen bei den Abfragen beachten.
Viele Grüsse
Simon
Auch wenn ich es mit ID=1 probiere funktionierts nicht, immer noch die
selbe Fehlermeldung
Hallo Gabriel,
Das kann ich fast nicht glauben. Bei mir funktionierts!
Bist Du sicher, dass Du die Klasse neu compiliert hast?
Gruss, Simon
hab neu kompiliert, kann es vielleicht am Treiber liegen?
Ich benutze Win98 und verwende ODBCJT32.dll (.mdb Treiber)
Welchen Treiber benutzt du? Bei der JET-Engine von Microsoft
Access funktioniert die Abfrage zumindest, die verwendet aber
glaub ich den selben Treiber oder?