tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
818
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    miroo miroo ist offline Grünschnabel
    Registriert seit
    Jan 2010
    Beiträge
    1
    Hallo.

    Ich bräuchte dringend Hilfe bei meiner Datenbankabfrage. Ich befürchte, dass das ganz einfach ist, aber ich komme irgendwie nicht weiter :-/

    Ich habe eine Tabelle "userinfo" mit 4 Spalten (Benutzername, ständigeURI, temporäreURI, status).

    Die Tabelle bzw. die DB in der sich diese befindet soll eine Art Location Server sein. D.h. wenn sich ein User Registriert möchte ich wie folgt vorgehen:

    Prüfe ob Benutzername bereits eingetragen
    --- wenn ja, Prüfe ob Benutzername und ständige URI mit der übermittelten übereinstimmen (bei der Registrierung werden Benutzername, st. und temp. URI übergeben)
    -------wenn ja, trage die temporäre URI ein
    -------wenn nein, gib eine Fehlermeldung aus
    ---wenn nein, trage den User neu in die Tabelle ein

    Kann mir jemand helfen? Was vielleicht noch wichtig ist, ich arbeite mit Java NIO und JDBC.
     

  2. #2
    Avatar von Chefkoch333
    Chefkoch333 Chefkoch333 ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    112
    Hi,
    woran hängst denn jetzt bei dir? Du weisst was zu tun ist und womit. Allgemein kann ich dir noch die Nutzung von Prepared Statements und evtl. eines Daten Caches empfehlen damit du nicht bei jedem Login eine teure Datenbankabfrage hast.

    VG,
    ck.
     

  3. #3
    Avatar von schnuffie
    schnuffie schnuffie ist offline Mitglied Platin
    Registriert seit
    Oct 2004
    Ort
    Ober-Roden (Hessen)
    Beiträge
    725
    Wenn ich den Eintrag so lesen, scheinst Du zwar zu wissen, wie's funktionieren soll, jedoch nicht, wie Du's umsetzt.

    Ich empfehle Dir, Deine Doings in Methodenform "zu gießen", also ein Benutzerinterface zu definieren:
    Code :
    1
    2
    3
    4
    5
    
    public interface DB {
    public boolean containsUser(String benutzername, URI staendigeURI, URI temporaereURI);
    public void createUser(String benutzername, URI staendigeURI, URI temporaereURI);
    [COLOR=seagreen]// u.s.w.[/COLOR]
    }

    Nun brauchst Du noch die Logik-Implementierungen, d.h. z.B. die main-Methode, die abfragt, ob der User in der DB vorhanden ist und wenn nicht, ihn anlegen läßt. Das DB-Interface dazu steht oben.

    Dieses DB-Interface implementiert Du (z.B. DBImpl-Klasse) und ergänzt das Ganze noch mit einer Methode, die Dir eine DB-Connection als Objekt liefert. Kochchefs Info, PreparedStatements zu verwenden hilft Dir performancetechnisch, wenn Du die gleichen Dinge mehrfach abfagst. PreparedStatements sind auch kein Hexenwerk, die kannst Du ganz leicht verwenden, indem Du Deinen SQL-Statements "?" an den Parametern verpaßt (siehe auch http://java.sun.com/javase/6/docs/ap...Statement.html) und dann setzt Du diese vor dem Execute. Nach der/den SQL-Abfrage(n) Deines "DB-Services" machst Du noch Deine DB-Connection zu. Das Ganze könnte dann so aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    public boolean containsUser(String benutzername, URI staendigeURI, URI temporaereURI) {
    Connection con = getConnection();   
    try {
    PreparedStatement ps = con.getPreparedStatement(USER_ABFRAGE); [COLOR=seagreen]// aus Konstante[/COLOR]
    ps.setString("benutzername", benutzername);
    [COLOR=seagreen]// u.s.w.[/COLOR]
    return ps.executeQuery().next();
    } finally {
    con.close();  
    }
    }
     
    CU schnuffie

    Fragliche Fragen stellende Fragensteller sind für verantwortungslose Antworten antwortender verantwortlicher Antworter selbst verantwortlich.

Ähnliche Themen

  1. Datenbankabfrage
    Von reflexor im Forum PHP
    Antworten: 2
    Letzter Beitrag: 15.03.09, 17:31
  2. Datenbankabfrage
    Von StephanFuchs im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 10.07.07, 22:43
  3. Datenbankabfrage
    Von snoophallo im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 18.12.06, 09:34
  4. Mit ID datenbankabfrage
    Von bhalili im Forum PHP
    Antworten: 22
    Letzter Beitrag: 14.11.05, 14:51
  5. Datenbankabfrage
    Von Geordi im Forum PHP
    Antworten: 6
    Letzter Beitrag: 15.08.04, 13:10