Gå til innhold

Thullball

Medlemmer
  • Innlegg

    62
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Thullball

  1. Sånn jeg ser det så bør du ha en UtleieNr i utleie tabellen. Hvis du bruker studnr og pcnr som PK kan den unike id'n bli brutt.

     

    En student kan jo leie den samme pc'n to ganger og da blir det to like PK i utleie tabellen. HVIS IKKE du sletter raden fra utleie tabellen hver gang en utleid maskin leveres inn. Men da får du jo ikke noe arkiv på utleie.. Så jeg ville ha hatt en egen UtleieNr

  2. Heisann!

    Har du husket å koble tabellene i spørringen?

     

    SELECT m.pcnr,m.navn,m.kjopt_dato
    FROM maskin m,utleie u
    WHERE u.pcnr = m.pcnr
    AND u.utleid = 'JA';

     

    Jeg har lagt med scriptet til tabellene jeg har leget.

    Det fungerer når jeg prøver, du får en liste over alle

    maskinene som er registrert utleid.

     

    Er litt vanskelig å skjønne hva oppgaven går ut på,

    hvis svaret ikke var tilstrekkelig så si i fra!

    script.sql

  3. Det går ann å lage det i Java, men du trenger en driver:

    http://www.oracle.com/technology/software/...s/jdbc9201.html

     

    Jeg ville laget 3 forskjellige klasser, 1. Klasse oppretter spørring og viser resultatet. 2. Klasse behandler spørringen og oppretter forbindelse via 3. Klasse som starter driver og oppretter forbindelse med Oracle serveren.

     

    3. Klasse

    import java.sql.*;
    
    public class KobleTilDB {
    private Connection forbindelse; 
    
    public KobleTilDB(String bruker, String passord) {      
     try {	
     	Class.forName("oracle.jdbc.driver.OracleDriver");   
     	forbindelse = DriverManager.getConnection(
       "URL-TIL-DATABASEN", bruker, passord);
     	System.out.println("Kontakt");  
     }
     catch ( ClassNotFoundException cnfex) { 
     	System.out.println("Feilet med å laste driveren: " + cnfex.getMessage());
     	System.exit(1);
     }
     catch ( SQLException sqlex) {	
     	System.out.println("Tilkobling ikke mulig: " + sqlex.getMessage());
     	System.exit(1);
     }
    }
    
    public void lukkForbindelse() {
     try {
        forbindelse.close();
     }
     catch ( SQLException sqlex ) {
     	System.out.println("Klarte ikke å koble fra.");
     }
    }
    
    public void avslutt() {
     lukkForbindelse();
     System.out.println("Lukker forbindelsen.");
    }
    
    public Connection getConnection() {
     return forbindelse;
    }
    }

     

    2. Klasse:

    import java.sql.*;
    
    public class DbHandler1 {
    private String bruker, passord;
    private KobleTilDB kobling;
    private Connection forbindelse;
    
    public DbHandler1(String b, String p) {
     bruker = b;
     passord = p;
     kobling = new KobleTilDB(bruker, passord);
     forbindelse = kobling.getConnection();
    }
    
    public int oppdater(String sql) {
     Statement stmt;
     try {
     	stmt = forbindelse.createStatement();
     	int antall = stmt.executeUpdate(sql);
     	stmt.close();    
     	return antall;
     }
     catch (SQLException e) {
     	System.out.println("Klarer ikke å utføre oppdateringen");
     	System.out.println(e.getMessage());
     	return -1;
     }        
    }
    
    public void avslutt() {
     kobling.avslutt();
    }
    }

     

    1. Klasse:

    public class TestOppdater1 {
    public TestOppdater1(String bruker, String passord) {
     DbHandler1 handler = new DbHandler1(bruker, passord);
    
     String setning = "INSERT INTO tabell " + 
         "VALUES(blablabla elelr en annen SQL setning)";
    
     int antall = handler.oppdater(setning);
     if (antall == -1) 
     	System.out.println("Oppdateringen ble ikke utført");
     else
     	System.out.println("Antall rader endret: " + antall);
     handler.avslutt();
    }
       
    public static void main(String[] args) {
     TestOppdater1 app = new TestOppdater1(brukernavn,passord);
    }
    
    }

    Det er en del kode men det er slik jeg alltid har gjort det, er ikke så god til å forklare men håper du fikk noe ut av dette!

  4. Hva mener du med COUNTER?

     

    Hvis du skal opprette en tabell av den typen du prøver på ville jeg gjort slik:

     

    CREATE TABLE Ansatt (
    Ansattnr NUMBER(3),
    Etternavn VARCHAR2(30),
    Fornavn VARCHAR2(25),
    Adresse VARCHAR2(30),
    Postnr CHAR(4),
    CONSTRAINT ansatt_ansattnr_pk PRIMARY KEY (ansattnr));
    

     

    Si i fra hvis jeg har forstått deg helt feil :blush:

  5. Systemet mitt krasjet i dag og jeg bruke ERD COmmander til å få det til å virke igjen.

    Når jeg kom tilbake til windows så var de gamle brukerkontoene med riktig passord der, men ingen av de gamle filene; "Mine bilder" osv var borte, mappen var helt tom. Finnes det noen måte å få gjenopprettet disse filene?! Prøvde å UNDO i ERD commander med det funket ikke... De er vel ikke slettet? det er litt merekelig, har søkt etter filer som var der men finner ingenting.

×
×
  • Opprett ny...