Zugriff auf ein bestimmte Row

Flexer

Mitglied
Hallo liebe Leute ich bräuchte mal eure kurze Hife. Ich möchte auf einen bestimmten Datensatz in einer Tabell zugreifen, der sich in einer bestimmten Zeile befindet. BSp
Column: A B C
Alpha Beta Omega
Haus Bad Küche

Ich möchte nur bspw. nur auf "Haus" zugreifen, er gibt mir aber immer alle Zeilen aus. Und den Wert irgendwo vergleichen und zuordnen .....
Variante 1
Code:
ResultSet resultsP = statementP.executeQuery("select * from " + provider);
ResultSetMetaData rsmdP = resultsP.getMetaData();
int numberCols = rsmdP.getColumnCount();

while (resultsP.next()) {   
         int i = 1;
         while(i <= numberCols) {
           arrayList.add(resultsP.getString(i++));
         }
         System.out.println("erster eintrag "+resultsP.getString(3));
         System.out.println("zweiter eintrag "+resultsP.getString(2));
         System.out.println(resultsP.getString(3));   
        System.out.println(resultsP.getString(4));
       }
     }

Variante 2
Code:
for (int i = 1; i <= subscribers; i++) {
         list.add(i+"");
         System.out.println(list.toString()+"hier drin stehen die subscriber");     
         if(i==2 && resultsP.next()){
           boolean str = resultsP.getString(1).equals("Haus");
           String restname = String.valueOf(str);
           list.add(new AccessoryParameter("Provider", restname, "String"));
           System.out.println(i+" Alfred  "+ restname+ list.toString());
         }
       }

Danke für eure Hilfe
 

Flexer

Mitglied
danke für Deine Hilfe,
wollte ich erstmal nicht machen, weil es mehrere Datentypen in rows gibt und ich müsste demnach immer ein neues ResultSet aufmachen.
gibt es da nicht eine Lösung zb mit Iterator oder so ähnlich ?
Grüssle
 

BRoll

Bekanntes Mitglied
Was wieso das denn.
Dem ResultSet ist egal was drin ist.
Wenn deine Spalten so aussehen: Id: int, Name: text, Irgenwas: float
kannst du auf des ResultSet dann einfach:
int id=resultSet.getInt(1);
String name=resultSet.getString(2);
float irgendwas=resultSet.getFloat(3);

Wo ist da ein Problem und was willst du mit einem Iterator hier ?
 

Flexer

Mitglied
:), Stimmt, ja klar hast vollkommen recht.

Intressant wäre für mich dennoch zu erfahren ob es gelingen kann anhand bsp. geschachteleter for schleife durch eine db tabelle zu navigieren, ist das möglich oder geht das garnicht, ist die obige lösung die einzige lösung?

lg
 

Thallius

Top Contributor
Du hast das Prinzip einer Datenbank nicht verstanden. Im optimalfall sollte man niemals durch die Ergebnisse einer DB Frage iterieren müssen. Egal ob Spalten oder Zeilenweise. Im Gegenteil, man sollte den Query so optimal lösen, dass man ausschließlich die benötigten Informationen zurück bekommt.

Gruß

Claus
 

Flexer

Mitglied
Hallo doch doch, habe ich verstanden :). Problem ist bloß ich muss mich nach einer Vorgabe richten, die nicht auf meinen mist gewachsen ist. daher ist es gut plausible gründe zu haben diese zu wiederlegen. es kann nämlich sein das ein design fehler in der datenbank ist und dieser gelöst werden muss. auf jedenfall habe ich wenn es der fall sein sollte ein gutes argument.

Ich rück mal raus mit der sprache, ich stehe vor einem problem in der mehrere einträge vorhanden sind die die gleiche id besitzen: anhand der query ist das where schon vergeben und da komm ich nicht weiter :-(.

table: provider
column: tescaseID Provider
407 alice
407 botox
407 testesteron

Code:
try {
            int i, subscribers = 0;
            ResultSet resultSetS = null;
            ResultSet resultSetP = null;
            mutex.acquire();
            statementS = DbUtilities.getConnection().createStatement();
            statementP = DbUtilities.getConnection().createStatement();
            String queryS = "SELECT subscribers FROM ST_TestcaseSubscribers"
                    + " WHERE tcId = " + testcaseId;
            String queryP = "SELECT provider FROM ST_xTestcaseProviders"
                    + " WHERE tcId = " + testcaseId;
           
            resultSetS = statementS.executeQuery(queryS);
            resultSetP = statementS.executeQuery(queryP);

            // Hole Anzahl der Teilnehmer und schreibe in Variable
            if (resultSetS.next()) {
                subscribers = Integer.parseInt(resultSetS.getString("subscribers"));
            }
            for (i = 1; i <= subscribers; i++) {
                if(i==1 && resultSetP.next())
                    // steht erster eintrag von provider drin
                    String restname = resultSetP.getString(1);
                   list.add("" + i + restname);
                if(i==2 && resultSetP.next()){
                    Wie komme ich jetzt an den 2 eintrag in der id 407 ran (botox) und weise es einem subscriber zu?
                    String restname = resultSetP.getString(1);
                       list.add("" + i + restname);
                }
            }
[CODE]

danke für eure hilfe lg
 

Thallius

Top Contributor
Sorry verstehe nicht was du machen willst. Du erzählst was von table Provider machst aber nur queries auf ganz andere Tabllen. Und dann iterierst du durch das Ergebnis des Query aus der einen Tabelle und willst da was aus der Tabelle Provider heraus holen?

Das ganze ist extrem konfus

Gruß

Claus
 

Flexer

Mitglied
Servus Claus, ich versuche Dir zu erklären was ich machen möchte.

wie Du sehen kannst greife ich auf 2 tabellen in einer db zu. 1 tabelle == Subscriber (liefert einen int wert zurück, bsp insgesamt 3 teilnehmer) ,2 tabelle == Provider beinhaltet die id 3x 407, mit den werten alice botox, testosteron siehe oben habe ich sie abgebildet.

ich möchte für jeweils für einen teilnehmer einen string in der tabelle provider zuordnen.

deswegen gehe ich mit der for schleife die telnehmer durch und möchte bsp teilnehmer 1 == alice , teilnehmer 2 ===botox , 3 == teststeron usw..

das problem liegt in der query weil ich das where schon vergebe an die "testcase id" und ich weiß resultset.next(). liefert mir immer denn ersten wert in der column, ich brauche aber alle, und da hakst bei mir.

ich hoffe ich konnte es einigermassen verständlich formulieren. vielleicht hast du eine idee was man da machen kann lg
 

Thallius

Top Contributor
Nein ich verstehe es überhaupt nicht :)

Zunächst mal es gibt nicht das EINE where was vergeben sein kann. Wenn ich mehrere Kriterien habe nach denen ich selectiern will, dann benutze ich AND und/oder OR.

Eine Tabelle liefert sicher niemals einen INT Wert zurück, wenn das drei Teilnehmer sein sollen. Allerhöchstens ein Array von drei Ints mit den ID's der Teilnemher?

Wenn nun dein Query

"SELECT subscribers FROM ST_TestcaseSubscribers" + " WHERE tcId = " + testcaseId;

drei Teilnemher zurück liefert woher weißt du dann welcher der drei Teilnehmer zu welchem provider gehört? Du kennst ja die Reihenfolge gar nicht in der die subscribers im Resultset stehen, da du kein ORDER BY angegeben hast. Woher weißt Du, dass das genau drei sind und woher weißt du das es zu den drei Subscribern auch genau 3 Provider in der anderen Tabelle gibt?

Fragen üder Fragen

Gruß

Claus
 

Flexer

Mitglied
die teilnehmer sind doch erstmal wurscht, die liege ich fest. ich beginne bei 0 an zu zählen und höre bei 3 . so das ich insgesamt 3 teilnehmer habe. und letzendlich wird doch ein int wert zurückgelifert, auch wenn die datenstruktur ein array(reihung) ist :).

ich gebe jetzt mal die beiden tabellen mit colums vielleicht wird es dann klarer.
tabelle subscriber:

testcaseID subscriber
407 (int:)) 3 (int:))

tabelle : provider

testcaseID provider
407 alice
407 botox
407 testosteron

jetzt müsste eigentlich klar sein was ich machen möchte oder
lg bis denne
 

Thallius

Top Contributor
Das ist doch redundant. Die Anzahl der provider ergibt sich doch aus der Anzahl der Rows in der zweiten Tabelle mit der ID 407. Also speichert man die nicht noch einmal in einer anderen Tabelle.
 

Flexer

Mitglied
Claus ich weiß selber das das nicht die beste art ist um datenzuspeichern, aber wie gesagt das ist vorgabe ich muss mich danach richten. für mich ist erstmal wichtig eine lösung bzw herauszufinden ob es eine lösung gibt. wenn es in diesem fall keine lösung dafür gibt brauch ich gute argumente das zu belegen. die db die dahinter steckt ist murcks, ist halt so ich kann da erstmal nix ändern.
lg und schönes wochenende
 

Flexer

Mitglied
habe die lösung für mein problem gefunden.
Java:
while (resultSet2.next()) {
         if(resultSet2.getString("Provider").equals("botox")){
         list.add(new AccessoryParameter("Provider", resultSet2.getString("Provider"), "String"));
         System.out.println(list.toString());
         }
       }

Danke für eure Hilfe.
pls close.
Grüssle
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
H MariaDB-Zugriff mittels Java SE Datenbankprogrammierung 3
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
M Datenbank vor unerlaubtem Zugriff durch Benutzer schützen Datenbankprogrammierung 3
L Zugriff auf ein Resultset Datenbankprogrammierung 7
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
D Gleichzeitiger Zugriff auf der DB Datenbankprogrammierung 11
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
S HSQLDB Zugriff auf Access Datenbank Datenbankprogrammierung 0
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
P Datenbank Zugriff fehlgeschlagen Datenbankprogrammierung 9
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
L Zugriff auf lokal gespeicherte mySQL Datenbank Datenbankprogrammierung 3
L MySQL App/Java Zugriff auf Mysql-DB funktioniert nicht Datenbankprogrammierung 1
W MySQL -Server Einstellung -- Zugriff übers lokale Netzwerk Datenbankprogrammierung 1
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T Derby/JavaDB Zugriff auf DB mit exportiertem Programm Datenbankprogrammierung 12
A MySQL-Zugriff auf Raspberry Pi Datenbankprogrammierung 2
T PostgreSQL Best Practice: Konkurrierender DB-Zugriff mit meherern Programmen? Datenbankprogrammierung 20
D .mdb Datenbank Zugriff fehlgeschlagen Datenbankprogrammierung 5
B Datenbanken schützen vor Zugriff Datenbankprogrammierung 3
E Zugriff auf MySQL-Datenbank Datenbankprogrammierung 4
K MySQL Zugriff auf Remote-DB verweigert Datenbankprogrammierung 6
G MySQL Zugriff auf Datenbank Objekt Datenbankprogrammierung 19
C Hibernate n:m mittels Zwischentabelle und bidirektionaler Zugriff Datenbankprogrammierung 2
M Zugriff auf mdb via ODBC steuern Datenbankprogrammierung 2
A Zugriff auf DB-Tabellen mit Objekten Datenbankprogrammierung 3
D Was passiert bei absolut zeitgleichem Zugriff auf eine Tablerow Datenbankprogrammierung 7
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
I Zugriff auf eine Datenbank auf dem Webserver Datenbankprogrammierung 2
J Derby/JavaDB Zugriff ohne Entwicklungsumgebung Datenbankprogrammierung 5
E H2 - Globalen Zugriff auf die Datenbank? Datenbankprogrammierung 10
J Zugriff auf MySQL-Datenbank Datenbankprogrammierung 5
F Zugriff auf MS Access-Datenbank mit jackcess Datenbankprogrammierung 10
F suche Erstanschub für DB-Zugriff Datenbankprogrammierung 9
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
P MySQL Remote Zugriff Datenbankprogrammierung 2
C Gleichzeitiger Zugriff auf Datensatz Datenbankprogrammierung 5
T Problem bei Zugriff auf Access Datenbank Datenbankprogrammierung 7
T MySQL Zugriff ohne Angabe der Datenbank Datenbankprogrammierung 3
M Zugriff auf eine Access-Datenbank innerhalb eines jar-Files Datenbankprogrammierung 7
N Wie kann ich Zugriff auf eine MS Access DB (mit JDBC) über Netzwerk erreichen? Datenbankprogrammierung 7
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
T DB Zugriff mit Java Web Datenbankprogrammierung 6
R Zugriff auf SQL im PreparedStatement Datenbankprogrammierung 4
F Zugriff auf MS Access DB Datenbankprogrammierung 3
J Nullpointer Exception bei Zugriff auf Datenbank Datenbankprogrammierung 13
J Zugriff auf Access-Datenbank Datenbankprogrammierung 3
A Zugriff auf Remote MySQL-DB mit JAR-File Datenbankprogrammierung 7
R Java DB Zugriff Datenbankprogrammierung 2
T Zugriff auf Derby-Datenbank will einfach nicht klappen Datenbankprogrammierung 22
G Zugriff auf Datenbank im Internet Datenbankprogrammierung 6
J Java DB Zugriff auf Access (Migration auf andere DB) Datenbankprogrammierung 8
G treiber für datenbank zugriff Datenbankprogrammierung 3
L Datenbank URL Zugriff Datenbankprogrammierung 9
G Wie baut man eine Anwendung mit DB Zugriff Datenbankprogrammierung 3
QDog JPA persistence.xml auslagern/extern Zugriff Datenbankprogrammierung 2
A HSQLDB Performance bei erstem Zugriff Datenbankprogrammierung 6
S Datenbank zugriff optimieren - zugriff ohne cursor? Datenbankprogrammierung 7
A Zugriff auf DB-Pool, der von Servlet initialisiert wurde Datenbankprogrammierung 4
J MYSQL-Zugriff mittels einer Java-Bean Datenbankprogrammierung 42
M mySQL zugriff funktionert nach ca4 stündiger laufzeit nicht Datenbankprogrammierung 6
J Zugriff mit DataSource Datenbankprogrammierung 7
M Zugriff für andere sperren Datenbankprogrammierung 11
K Zugriff mittels JDBC funktioniert nur lokal Datenbankprogrammierung 5
S Zugriff auf eine große Datenmenge von MS Access per JDBC Datenbankprogrammierung 11
G Hibernate Zugriff Datenbankprogrammierung 5
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
D ODBC Zugriff auf MDB-Datenbank, Insert Into ohne Funktion Datenbankprogrammierung 2
T Zugriff auf MS-Access-DB ist grottenlangsam. Normal? Datenbankprogrammierung 9
G Verwendung neuen Treiber für JDBC-Zugriff auf OracleDB Datenbankprogrammierung 5
G Access Zugriff, DB auf Server, Applet Datenbankprogrammierung 4
D Problem beim Zugriff auf eine Oracle-DB Datenbankprogrammierung 23
D Kann nicht auf MySQL Datenbank Zugriff Datenbankprogrammierung 9
G Policy Eintrag für SQL Zugriff im Netzwerk Datenbankprogrammierung 10
S Java SQL-Exception bei Zugriff auf MSAccess Datenbankprogrammierung 2
S JDBC Zugriff auf SQLServer Datenbankprogrammierung 9
D Datenbank zugriff über Client/Server Datenbankprogrammierung 4
M Zugriff auf PostgreSQL mit JAva! Datenbankprogrammierung 7
F Zugriff auf ODBC-Datenbank übers Netzwerk Datenbankprogrammierung 6
G Problem beim Zugriff SQL 2000 Datenbankprogrammierung 2
T Verwaltungsystem mit grafischer Oberfläche mit Zugriff auf. Datenbankprogrammierung 6
C Zugriff auf MS Access Datenbankprogrammierung 4
D Zugriff auf Paradox-Datenbank Datenbankprogrammierung 10
B ResultSet aus Session geladen, aber kein Zugriff möglich Datenbankprogrammierung 6
D HSQLDB Datenbank Zugriff! Datenbankprogrammierung 4
L Programm-Architektur bei DB-Zugriff Datenbankprogrammierung 6
R Zugriff auf MySQL-Datenbank im Internet Datenbankprogrammierung 13
L Zugriff von Applet auf mysql-DB Datenbankprogrammierung 2
K Zugriff auf Access-Datenbank Datenbankprogrammierung 4
R Datenbank zugriff funktioniert nur offline Datenbankprogrammierung 2
G Fehlermeldung beim Zugriff auf SQL-Server-DB Datenbankprogrammierung 3
D Mysql zugriff aus java nicht moeglich Datenbankprogrammierung 2
ruutaiokwu Duplikate auf bestimmte Anzahl begrenzen Datenbankprogrammierung 8
L0MiN Wie kann ich eine bestimmte Seite aus verschiedenen Excel-Tabellen in eine neue Exceldatei kopieren? Datenbankprogrammierung 1
E Wie kann man bestimmte Zeilen der Tabelle rot markieren? Datenbankprogrammierung 1
S HSQLDB Verbieten eines update auf eine bestimmte reihe Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben