Proble mit Selcet mit join und rst.next()

Status
Nicht offen für weitere Antworten.
M

Mildi

Gast
hi leute ich hab da ein problem mit meiner sql abfrage, hab zwei Tabellen, einmal Lieferant und AdresseT mit meiner sql anweisung
Code:
SELECT *FROM Lieferant RIGHT OUTER JOIN AdresseT ON Lieferant.ID = AdresseT.ID WHERE Lieferantennummer = '"+textf+"' ;";
rufe ich alle daten aus beiden Tabellen auf. Wobei +textF+ ein String ist der an die Methode uebergeben wird.
Jetzt will ich mich ein rst.next() alle Inhalte aus dem Result heraushollen und in Strings speicher, doch genau das klappt nicht. Die SQL Anweisung stimmt auf jeden fall weil ich sie direkt aus access herauskopiert hab.

Hoffe jemand kann mir helfen. Ich kopier euch noch denn ganz Quellcode

Code:
 public void setRsL(String text)
	{	
		String textf = "%"+text+"%";
		try{
	
			String query = "SELECT *FROM Lieferant RIGHT OUTER JOIN AdresseT ON Lieferant.ID = AdresseT.ID WHERE Lieferantennummer = '"+textf+"';";
            //String query = "SELECT * FROM Lieferant, AdresseT WHERE AdresseT.ID = Lieferant.ID AND Lieferantennummer LIKE '"+textf+"';";
            //Datenbankverbindung herstellen
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=G:/Users/mildi/Desktop/InMa/InmaBuchhandlung.mdb","","" );
            System.out.println("Connection Successful ");
            Statement stmt = con.createStatement();
            ResultSet rst = stmt.executeQuery(query);
            while (rst.next())
        {
        
        	Nr= rst.getString("Lieferantennummer");
        	lID = rst.getString("Lieferant.ID");
        	naL= rst.getString("Name");
        	voL = rst.getString("Vorname");
        	aID = rst.getString("AdresseT.ID");
        	plzL = rst.getString("PLZ");
        	strL = rst.getString("Strasse");
        	telL = rst.getString("Telefonnummer");
        	landL = rst.getString("Land");
        	emL = rst.getString("Email");
               
        }
            
            } catch(Exception e) {
            e.printStackTrace();
        }}
    
    public String getNr()
    {
        Nr = PNr;
        return PNr;               
    }
    public String getName()
    {
        Name = naL;
        return Name;
    }
    public String getVorname()
    {
        Vorname = voL;
        return Vorname;
    }
    public String getPLZ()
    {
        PLZ = plzL;
        return PLZ;
    }
    public String getStr()
    {
        Str = strL;
        return Str;
     }
    public String getTel()
    {
        TeleNr = telL;
        return TeleNr;
    }
    public String getLand()
    {
        Land = landL;
        return Land;
    }
    public String getEmail()
    {
        Email = emL;
        return Email;
    }
    public String getGehalt()
    {
        Gehalt = geh;
        return Gehalt;
    }
    public String getGebD()
    {
        gebDat = GebDat;
        return GebDat;
    }

Die get-methoden sind dazu da damit ich auf die daten zugreifen kann.
ich hab auch die verschieden variablen erstellt, also mit
Code:
 String naL
und so weiter ...
hab es aber nicht reinkopiert

MfG mildi
 
S

SlaterB

Gast
toll wie du von Zeile 36 bis 80 die ganzen getter postest,
wichtige Informationen,

im Gegensatz zu Fehlermeldungen oder was immer dich zu der Aussage 'geht nicht' veranlasst,
das kann man ruhig weglassen.....

WAS GEHT NICHT?

Tipp:

= 'Hallo%'
trifft nur auf Strings zu, die genau so heißen,
wenn du eine Like-Suche möchtest, dann mache
LIKE 'Hallo%' ;)
 
M

mildi

Gast
das ist ja das problem,ich bekomm keine Fehlermeldung.
Ich jTextField in denen ich die werte angezeigt bekommen möchte
hab das so gemacht zb

Code:
PerWerte load = new PerWerte();
jTextField1.setText(load.getName());

ich hab mal zum testen ein system.out gemacht das mir zeigen soll ob die daten ueberhaupt aus demm ResultSet herausgeholt werden und bekomm dann bei


Code:
System.out.println(load.getName());

als antwort NULL, Also denke ich das was mit demm rst.next() nicht stimmt, doch was?

Mfg Mildi
 
S

SlaterB

Gast
Tipp:

= 'Hallo%'
trifft nur auf Strings zu, die genau so heißen,
wenn du eine Like-Suche möchtest, dann mache
LIKE 'Hallo%' ;)
 
M

Mildi

Gast
vielen Dank, die ersten 2 Daten hab ich jetzt aber ich bekomm ne fehler Meldung,
Code:
No data found

Muss mal schauen an was das liegt


MfG mildi
 
M

Mildi

Gast
Aus der erten tabele Lieferant bekomm ich alle daten raus, bloss nicht aus der 2. AdresseT tabelle, hast du noch einen kleinen Tipp wie ich das machen kann?

Mfg mildi
 
S

SlaterB

Gast
ne, das liegt doch wohl am Aufbau der Tabellen? ;)
poste deren Create-Statement

allerdings weißt ich nicht allzu viel zu Outer-Join,
evtl noch einen neuen Thread,
dann aber nur mit SQL-Statement,
+ vielleicht paar rst.get,

nicht 100 Zeilen Code
 
S

SlaterB

Gast
ein Kommando an die Datenbank zu Erstellen der Tabelle,
alternativ kannst du auch so die einzelnen Spalten, Datentypen, Not Null-Bedingungen usw. aufschreiben
 
G

Guest

Gast
Also die Lieferanten Adresse sieht so aus:
------------------------------------------------------------------------
|Lieferantennummer | ID | Name | Vorname |
------------------------------------------------------------------------
| 31 | 110 | Hanz | Otte |
------------------------------------------------------------------------
als Daten Typen alles Text

Die AdresseT:
----------------------------------------------------------------------------------------------------------------------
| ID | PLZ | Strasse | Telefonnummer | Land | Email |
----------------------------------------------------------------------------------------------------------------------
| 1001 | 54875 | Torgartenallee 99 | 07444/2288 | Deutschland | held@burda.de |
----------------------------------------------------------------------------------------------------------------------
Als Datentypen auch alles Text

Hoffe ich konnt dir weiter helfen, denn ich wusste nicht was ich so recht machen sollte.

MfG mildi
 
S

SlaterB

Gast
gleich noch die Daten gepostet, gut,
damit scheint doch der Fehler offensichtlich:
zur Lieferanten-Id 110 ist keine Adressen-ID vorhanden

also findet kein Join statt, die Elemente sind korrekt null
 
M

Mildi

Gast
ne hab jetzt alle uebrigen daten bis auch auf erste zeile gelöschte weil es sonst zu viel zeilen wären, ich gibt schon übereinstimmungen aber halt nicht bei denn 2 gezeigten datensätzen, mein fehler.

MfG mildi
 
S

SlaterB

Gast
dann solltest du
naL= rst.getString("Name");
durch
naL= rst.getString("Lieferant.Name");
ersetzen,

so ein ResultSet hat auch MetaDaten bei denen du die Spaltennamen anchschauen kannst
(getMetaData() oder so)
 
G

Guest

Gast
ne jetzt sagt er mir das er denn Spalten namen nicht gefundne hat
 
M

Mildi

Gast
ok ich hab es, ich hab einfach eine 2 abfrage gemacht die mir die daten aus der AdresseT Tabelle rausliest und davon hab ich die daten dann rausgelesen.

vielen danke für die hilfe.

MfG mildi
 
S

SlaterB

Gast
naja, eine Lösung ist das ja nicht..

mir fällt aber dazu nix ein
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JOIN COLUMN wird nicht genommen Datenbankprogrammierung 2
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
D Left Join mit Wioth Rollup Datenbankprogrammierung 0
S MySQL ehemaliger FULL OUTER JOIN zusammenstellen Datenbankprogrammierung 1
L Join zweier Tabellen in SQL Datenbankprogrammierung 2
A Fehlermeldung: JOIN FETCH expressions cannot be defined with an identification variable Datenbankprogrammierung 0
B Inner Join ohne SQL Syntax Datenbankprogrammierung 2
S SQL join - NullPointerExeption Datenbankprogrammierung 3
E Mehrere Tabellenspalten mit INNER JOIN verknüpfen Datenbankprogrammierung 1
OnDemand LEFT JOIN id hat Null Datenbankprogrammierung 6
ruutaiokwu reihenfolge der operanden bei join's Datenbankprogrammierung 5
G SQLite Self Join "unbestimmter tiefe" Datenbankprogrammierung 7
I MySQL Vergleich über mehrere Tabellen! Join? Datenbankprogrammierung 6
N Select mit join Datenbankprogrammierung 3
F Oracle select sum() join select sum() Datenbankprogrammierung 9
Kenan89 Datenbank Join Datenbankprogrammierung 16
M JPQL - Join Verkettung Datenbankprogrammierung 8
K SQL Inner Join - On Klausel Datenbankprogrammierung 10
F Komplexer Tabellen-Join und Ausgabe in Excel Datenbankprogrammierung 17
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
kirchrath Hibernate Join - angejointes Objekt wählen Datenbankprogrammierung 2
Eldorado MySQL SELECT mit GROUP BY und INNER JOIN Datenbankprogrammierung 2
G Join Abfrage Datenbankprogrammierung 12
S SQL inner join bei >10 Tabellen über 2 Variablen Datenbankprogrammierung 2
T MySQL: Join auf sich selbst schlägt fehlt Datenbankprogrammierung 3
MQue Join n:m Datenbankprogrammierung 9
0x7F800000 MS-SQL Server 2008 Wie benutzt man da NATURAL JOIN / INNER JOIN USING? Datenbankprogrammierung 3
D join updaten in java Datenbankprogrammierung 4
G [Hibernate] Problem mit LEFT JOIN Datenbankprogrammierung 7
S Preparestatement mit join Datenbankprogrammierung 4
S MySQL: Abfrage auf 2 Tabellen durch join Datenbankprogrammierung 5
P Join Datenbankprogrammierung 4
G Hilfe: Werte sind alle x2 (oder mehr) nach JOIN Datenbankprogrammierung 13
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
E ERROR: argument of JOIN/ON must be type boolean? Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
E JOIN und * Datenbankprogrammierung 3
G Probleme mit Access und Join Datenbankprogrammierung 3
G PL/SQL: Join mit Collection Datenbankprogrammierung 5
T [SQL] Doppelter Join aus der selben Tabelle & Feldnnamen Datenbankprogrammierung 3
S JOIN und wohin damit? Datenbankprogrammierung 5

Ähnliche Java Themen


Oben