Oppure

Loading
19/03/12 15:48
lucca
cioa a tutti sto facendo un piccolo programma in delphi utilizzando i Database... ma non riesco a modificare il nome dello studente che deve essere richiesto in ingresso dall'utente....vi lascio il mio codice che ho scritto,
 ADOQuery_Modifica.SQL.Clear;
  ADOQuery_Modifica.SQL.Add('UPDATE Studenti SET nome=[inserisci nuovo nome], cognome=[inserisci nuovo cognome] '+
                            'WHERE studenti.nome = "'InputBox(inserisci nome studente)'" AND studenti.cognome=[Inserisci cognome studente]');


Inoltre a me sembra che questo tipo di opzione di modifica sia un po' rigida e antiquata... non è che esiste un modo di modificare a valore del database direttamente dalla DBGrid??????
Spero che mi aiutate!!!! ciao a tutti
aaa
20/03/12 12:47
Goblin
la query è errata, in quanto dlphi non accetta i paramentri tra quadre dunque riscritta dovrebbe essere (circa)
'UPDATE Studenti SET nome=:sNewName, cognome=:sNewCognome WHERE ID_STUDENTE= :nIDSTUDENTE'.

Come hai notato nella sezine where della query ho sostituito il tuo con 'ID_STUDENTE= :nIDSTUDENTE' in quanto non puoi cambiare il nome a tutti in modo indiscriminato, ma deve essere fatto su una chiave primaria, da questo partono una serie di domande:
1) come hai progettato il DB?
2) come fai ad inserire nella tabella studenti?
3) come fai a modificare gli altri dati?
4) usi componenti dbaware?

dunque con questa query non ci fai assolutamente niente, se non rispondi (almeno) a queste 4 domande, sono le prime che mi sono venute in mente, ma credo, che la lista si potrebbe allungare :)

Un saluto

Ibis redibis non morieris in bello