Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Database

  1. #1

    Database

    JDBC - Database
    Salve a tutti ho un piccolo problema. Sto studiando il vasto mondo del JDBC dopo aver terminata tutta la Java Standard…e non ho capito bene alcune cose !.

    Per stampare dei campi presenti all’interno di una tabella del database è semplice,

    //Carico il driver;

    String driver = “ “;
    Class.forName(driver);

    //Crea la connessione;
    String url = “ “;

    //Accedo al database;
    Connection con = driver Manager.getConnection(url);

    //Creo uno statement;
    Statement cmd = con.createStatement();
    ResultSet res = cmd.executeQuery(“SELECT nome_campo,nome_campo2 FROM nome_tabella”);

    res.close();
    cmd.close();
    con.close()

    poi va beh faccio il System.out.println e riesco a stampare i campi della tabella, però se volessi aggiungere un nuovo campo o cancellare un campo o modificare quali sono le stringe da aggiungere? Perché qui non c’ho capito molto …

    Per esempio se volessi aggiungere un campo dovrei scrivere:

    String inserStatement = “ INSERT INTO nome_tabella set nome_campo_da_aggiungere“;
    int ris = cmd.executeUpdate(insertStatement); ? Così?

    Ma quello che non capisco è questo, se il codice è giusto dovrei inserito dove? Sotto ResultSet res = cmd.executeQuery(“SELECT nome_campo,nome_campo2 FROM nome_tabella”);

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non è una problematica propria di Java: per fare ciò che chiedi devi conoscere il linguaggio SQL.

    SQL è un linguaggio che serve a manipolare i DB e ad istruire i DBMS: esso prevede istruzioni di manipolazione dei dati (SELECT, INSERT, DELETE, UPDATE), istruzioni di manipolazione delle strutture dati (CREATE TABLE, DROP TABLE, ALTER TABLE, ecc), istruzioni di locking e unlocking su tabelle, ecc...

    Ciascuna di queste istruzioni può essere passata al tuo DBMS tramite gli Statement messi a disposizione dal linguaggio Java, ma non sono intrinsecamente legate a Java (anzi, non hanno proprio nulla a che vedere con Java: fanno parte di un altro linguaggio, che si chiama appunto SQL).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3

    ...

    Il mio problema è questo…

    Dopo aver caricato il driver, aperto la connessione al database etc … inserisco il seguente codice:

    nomeStatement.executeUpdate(
    "INSERT INTO Persona ( " +
    " nome, cognome, indirizzo " +
    ") VALUES ( " +
    " '" + nome + "', " +
    " '" + cognome + "', " +
    " '" + indirizzo + "' " +
    ")"
    );

    Mi va a modificare i campi già presenti nella Tabella Persona…quindi se per esempio mettessi:

    String nome = “Peppino”;
    String cognome = “Prova”;
    String indirizzo = “Italia”;

    MI funziona perché va a modificarmi e quindi a riempirmi i campi che ho già creato all’interno della tabella Persona, il mio problema è questo:

    Se io volessi inserire praticamente un nuovo campo nella tabella Persona, senza andare ad aggiungere il valore in un campo già presente nella Tabella come devo fare?

    Insomma non voglio creare i campi accedendo al MYSQL per poi riempirli col codice, ma creare il campo all’interno della tabella…

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: ...

    Originariamente inviato da Darkenny
    Insomma non voglio creare i campi accedendo al MYSQL per poi riempirli col codice, ma creare il campo all’interno della tabella…
    Quello che chiedi ha veramente poco senso e ci fa capire che non conosci SQL.

    Quello che fai accedendo a MySQL lo puoi fare esattamente anche da codice.

    Per modificare la struttura di una tabella si usa l'istruzione ALTER TABLE del linguaggio SQL. Questo lo puoi fare sia accedendo alla consolle di mysql (che è un client anch'esso come la tua applicazione), sia attraverso la tua applicazione con l'utilizzo della classe Statement (o PreparedStatement).

    Ti consiglio di partire da una lettura come questa.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5

    ...

    infatti io volevo sapere il codice per creare un campo all'interno della tabella :P

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: ...

    Originariamente inviato da Darkenny
    infatti io volevo sapere il codice per creare un campo all'interno della tabella :P
    E per la terza volta ti invito ad approfondire i comandi del linguaggio SQL, partendo dalla documentazione che ti ho fornito nel link precedente.

    Cliccando sul primo link alla pagina che ti ho indicato (Data Definition Statements) otterrai l'elenco dei comandi di definizione dati (creazione, eliminazione e modifica di DB, tabelle ed indici)

    Quindi cliccando sul secondo di questi (ALTER TABLE Syntax) otterrai la documentazione completa del comando ALTER TABLE che (guarda caso) serve a modificare una tabella (ALTER = altera, modifica). Aggiungere un campo ad una tabella significa modificarne, appunto, la struttura.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.