Oracle Datenbankabfrage ausgeben

hans-sonny

Bekanntes Mitglied
Hi leute,

ich möchte gerne eine Select anfrage auf der std out ausgeben..

probiere es wie folgt
Java:
ResultSet Out = stmt.executeQuery("SELECT Name FROM Kunde WHERE Name =" + NAME);
                    out.println("Kunde:" + Out.getString(1));

bekomme aber immer diese Meldung

Exception in thread "main" java.sql.SQLDataException: ORA-01426: numerischer Überlauf

woran könnte es liegen

habe auch probiert:
Java:
ResultSet Out = stmt.executeQuery("SELECT Name FROM Kunde WHERE Name =" + NAME);
                    out.println("Kunde:" + Out.getString("Out"));


ging leider auch nicht


hat mir jemand ne idee?
 
S

SlaterB

Gast
die Fehlermeldung ist wirklich ungewöhnlich, bei google selten zu finden,

allgemein gilt dass vor dem ersten Zugriff auf das ResultSet next() aufzurufen ist, siehe alle Beispiele für ResultSet

und was soll "Out" für ein Parameter zu getString() sein? so heißt doch keine Spalte, getString(1) müsste es aber tun
 

hans-sonny

Bekanntes Mitglied
hi danke für die hilfe aber noch klappt es nicht ...

also ziel soll es sein am ende alles was zum kunde a gehört auszugeben..

aber noch klappt es nicht mal nur den name auszugeben


ich hab das mal so angepasst wie du es gesagt hast

Java:
ResultSet Out = stmt.executeQuery("SELECT Name FROM Kunde WHERE Name =" + NAME);
                    while (Out.next()) 
                    {
                        out.println("Kunde:" + Out.getString(1));
                    }
 
C

Camino

Gast
Java:
stmt.executeQuery("SELECT Name FROM Kunde WHERE Name =" + NAME)
Was ist
Code:
NAME
? Und irgendwie macht das keinen Sinn, wenn du den Namen schon weisst und danach abfragst, und dann den Namen aus der Datenbank geliefert haben möchtest.

Java:
out.println("Kunde:" + Out.getString(1));
Und das müsste
Code:
System.out.println...
heissen.

Java:
ResultSet Out
Code:
out
klein schreiben, aber besser wäre evtl. sowas wie
Code:
ResultSet rs
.
 

hans-sonny

Bekanntes Mitglied
also ich habe festgestellt, dass NAME falsch war es muss name sein...
aber das ändert nichts am problem

ja ich probier ja nur erst mal den namen und dann alle anderen infos wie tel numnmer etc... aber


doch out.println geht auch wenn man

import static java.lang.System.in;

macht ....


das problem liegt an dieser Zeile:

Java:
stmt.executeQuery("SELECT Name FROM Kunde WHERE Name =" + name)


ich brauche das noch öfter für andere abfragen

z.B. hätte ich noch gerne sowas

SELECT Straße, Hausnummer FROM Adresse WHERE Adressnummer =" + nummer)

aber wenn das mit name nicht geht brauch ich ja mit der adresse gar nicht erst anfangeb ...
 

turtle

Top Contributor
Ich stimme Camino zu, dass es wenig Sinn wenn du den Namen schon weisst danach abfragst.

Und ich vermute das Name als VARCHAR in der DB definiert ist. Dann versuche mal

Java:
stmt.executeQuery("SELECT Name FROM Kunde WHERE Name ='" + NAME+"'");

Ich empfehle immer PreparedStatements zu nutzen, weil der Code "schöner" (kein String-Geraffel mehr) und auch sicher gegen SQL-Injections wird.
Mit PreparedStatement sähe es dann so aus.
Java:
Connection con = ...;
PreparedStatement stmt = con.prepareStatement("SELECT Name FROM Kunde WHERE Name =?");
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
	String dbName = rs.getString("Name");
	System.out.println(dbName + " ");
}

Und wenn Du dann dafür myBATIS einsetzt, habe ich Dich auch lieb:
 
C

Camino

Gast
Java:
PreparedStatement stmt = con.prepareStatement("SELECT Name, Vorname, Telnummer FROM Kunde WHERE Name =?");
Und dann in der Schleife, wenn du durch das ResultSet durchgehst, eben diese Felder abfragen.
 

hans-sonny

Bekanntes Mitglied
ah okay und was macht das = ?

und das hier ganz genau, stmt.setString(1, name);

steht die 1 für die 1. spalte? und name? mein eingelesenes ...

muss ich das dann für die anderen felder auch machen?
 
C

Camino

Gast
ah okay und was macht das = ?

und das hier ganz genau, stmt.setString(1, name);

steht die 1 für die 1. spalte? und name? mein eingelesenes ...

muss ich das dann für die anderen felder auch machen?

Das ? ist ein Platzhalter. Die 1 heisst, dass das 1. ? genommen und dort der Wert (name) eingesetzt wird. Das musst du nur für die Felder machen, welche du in deine SQL-Abfrage einsetzen möchtest.
 

turtle

Top Contributor
wie sähe das dann aus wenn ich mehr wie eine spalte ausgeben dann name + vorname + telnummer ausgeben
Wie Camino schon sagte:

Java:
PreparedStatement stmt = con.prepareStatement("SELECT Name, Vorname, Telnummer FROM Kunde WHERE Name =?");
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
  String dbName = rs.getString("Name");
  String dbVorname = rs.getString("Vorname");
  String dbTelNummer = rs.getString("Telnummer ");
}
 
S

SlaterB

Gast
(grummel, die ursprüngliche Fehlermeldung 'numerischer Überlauf' passte ja doch ganz gut zu vergessenen Anfühungszeichen,
Name als Zahl interpretiert, das hätte ich sehen sollen)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Datenbankabfrage in einem Textfeld ausgeben Datenbankprogrammierung 3
L Datenbankabfrage mit loop Datenbankprogrammierung 17
N MySQL Datenbankabfrage oder Arraylist? Datenbankprogrammierung 2
J Datenbankabfrage / Teilmengen Datenbankprogrammierung 2
S MySQL JTable zeigt nach Datenbankabfrage eine Spalte zu viel an Datenbankprogrammierung 0
S MySQL Datenbankabfrage mit Eingabe aus Textfeld vergleichen Datenbankprogrammierung 4
C Modellierung Datenbankabfrage Datenbankprogrammierung 1
W SQL-Statement Datenbankabfrage über Yahoo Datenbankprogrammierung 0
B Fehlerhafte Datenbankabfrage Datenbankprogrammierung 3
E MySQL Anzeige Datenbankabfrage in Textfeld o.ä. Datenbankprogrammierung 34
L Datenbankabfrage mit einer Range Datenbankprogrammierung 3
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
E H2 - Datenbankabfrage gibt NULL aus? Datenbankprogrammierung 4
H Einfache Datenbankabfrage Datenbankprogrammierung 14
S ResultSet einer Datenbankabfrage - Nullpointer Exception Datenbankprogrammierung 13
F Problem mit Datenbankabfrage Datenbankprogrammierung 7
M Problem bei einfacher Datenbankabfrage Datenbankprogrammierung 7
W Problem mit Datenbankabfrage Datenbankprogrammierung 3
S Datenbankabfrage mit Applet Datenbankprogrammierung 13
A Datenbankabfrage mit KeyListener Datenbankprogrammierung 5
C Rückgabetyp einer Datenbankabfrage Datenbankprogrammierung 12
L einfache Datenbankabfrage ohne erstes Element Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
R NUllPointerException bei Datenbankabfrage Datenbankprogrammierung 4
A SQL Datenbankabfrage in Array speichern Datenbankprogrammierung 3
P Datenbankabfrage MYSQL aus Applet heraus Datenbankprogrammierung 6
D Datenbankabfrage will nicht funktionieren Datenbankprogrammierung 5
C vergleichende Datenbankabfrage Datenbankprogrammierung 5
G datenbankabfrage Datenbankprogrammierung 4
A datenbankabfrage in sql mit java Datenbankprogrammierung 32
T Nochmal Datenbankabfrage Datenbankprogrammierung 6
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
N SQL-Abfrage in JTextField ausgeben Datenbankprogrammierung 6
Trèfle SQLite SQL-Java Änderungen ausgeben Datenbankprogrammierung 1
T Datei auf Desktop ausgeben Datenbankprogrammierung 22
Y H2 H2 foreign key in Spark Java ausgeben Datenbankprogrammierung 1
M HSQLDB Automatisch nächste freie Nummer ausgeben Datenbankprogrammierung 4
R MySQL Umgang mit ResultSet/Fremdschlüssel ausgeben Datenbankprogrammierung 2
A MySQL Tabelle ID abfragen und Spalte ausgeben Datenbankprogrammierung 4
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
SexyPenny90 SQL Daten sortieren und top 5 ausgeben Datenbankprogrammierung 7
F Wert des erzeugent Schlüssel ausgeben lassen Datenbankprogrammierung 2
T Inhalt einer Datenbanktabelle autom. in XML ausgeben Datenbankprogrammierung 7
B Hibernate, einfaches Query Ausgeben Datenbankprogrammierung 4
N Ergebnisse von exectueQuery als Array ausgeben Datenbankprogrammierung 2
S Datenbank-Tabelle in SWING/AWT ausgeben Datenbankprogrammierung 28
S Alle Kunden mit ihren Adressen mit JPQL ausgeben Datenbankprogrammierung 2
O Spaltensummen ausgeben Datenbankprogrammierung 2
I Anzahl unterschiedlicher Datensätze ausgeben Datenbankprogrammierung 2
ARadauer tabellen kommentar ausgeben Datenbankprogrammierung 2
S Result Set in Charts ausgeben! Datenbankprogrammierung 7
H Daten aus MySQL-Datenbankl in Tabellen-GUI ausgeben. Datenbankprogrammierung 3
T Inhalt von Blob in Console ausgeben Datenbankprogrammierung 2
K Bild via JDBC und MySQL ausgeben Datenbankprogrammierung 2
K ResultSet: Erste Zeile ausgeben, Datensatz in String speiche Datenbankprogrammierung 13
J Alle Spalten und Zeilen eines ResultSets ausgeben ? Datenbankprogrammierung 2
M MySQL-Daten Ausgeben Datenbankprogrammierung 6
R Select auf der Konsole ausgeben Datenbankprogrammierung 2
W Datensätze v. SQL-Datenbank i. JTextFields ausgeben/updaten Datenbankprogrammierung 12

Ähnliche Java Themen


Oben