lucas95 (Normal User)
Rookie
Messaggi: 33
Iscritto: 11/11/2011
|
Salve ragazzi,
sto cercando di modificare un determinato record dentro un database Access. In particolare se nel programma inserisco in 2 TextBox, cognome/nome di un giocatore e poi la squadra mi apre una form con tutte le sue caratteristike e su questo non ci sono problemi. Ora se devo modificare ad esempio la squadra di questo giocatore:
Text1 = Borriello Marco
Text2 = Roma
Ora dovrei modificare la squadra in "Juventus". Quindi devo posizionarmi nel campo "Squadra" di quel giocatore. Allora ho scritto:
Codice sorgente - presumibilmente VB.NET |
Private Sub cmdModifica_Click() Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.Open str rs.Open "SELECT Squadra FROM SerieA WHERE Squadra'" & txtSquadra.Text & "'", cn, 1 If rs.EOF then MsgBox "Squadra non trovata!" ElseIf rs.EOF = False Then MsgBox "Squadra trovata!" End If rs.Close cn.Close End Sub
|
In pratica in questo modo vedo se c'è la squadra in txtSquadra. Ora dovrei modificare la squadra...come posso farlo? Ho creato una text: "txtSquadraNew"...e poi un command "cmdModifica"(vedi sopra)...se premo su questo pulsante mi dice se la squadra è esatta, io invece devo fare in modo che se l'utente scrive in:
txtSquadraNew.Text = "Juventus"
Quando clicca su "cmdModifica", modifichi la squadra e ovviamente salvi. Dovrei farlo con il metodo Update, ma come?
Grazie!
|
|
Bonny (Member)
Expert
Messaggi: 437
Iscritto: 24/04/2009
|
per esempio:
Codice sorgente - presumibilmente Visual Basic 6 |
UPDATE <Tabella>
SET <nome campo> = <nuovo valore>
[WHERE <condizione>]
|
per esempio se abbiamo una tabella Persone(Nome, Cognome, DataNascita, CF) CF=codice fiscale
e vogliamo cambiare il nome, cognome e data di nascita di una certa persona che ha codice fiscale = XXX
diamo il comando SQL come segue:
Codice sorgente - presumibilmente Visual Basic 6 |
UPDATE Persone
SET Cognome = 'Rossi', Nome = 'Mario', DataNascita = '1960-3-1'
WHERE CF = 'RSSMRA60C01H501F'
|
|
|
lucas95 (Normal User)
Rookie
Messaggi: 33
Iscritto: 11/11/2011
|
Cioè questo:
Codice sorgente - presumibilmente Visual Basic 6 |
rs.Open "UPDATE SerieA SET Squadra = "Juventus" WHERE Squadra = "Roma", cn, 1
|
???
|
|
Bonny (Member)
Expert
Messaggi: 437
Iscritto: 24/04/2009
|
Postato originariamente da lucas95:
Cioè questo:
Codice sorgente - presumibilmente Visual Basic 6 |
rs.Open "UPDATE SerieA SET Squadra = "Juventus" WHERE Squadra = "Roma", cn, 1
|
??? |
in teoria stai usando un Recordset una specie di contenitore ovvero contiene il risultato di una query per esempio SELECT campo FROM tabella; ma nel nostro caso basta solo eseguire la query nel database dovrebbe esserci un metodo executeQuery(String query);
Io non conosco bene VB.net
Ho trovato un esempio qui:
http://www.mrwebmaster.it/vbnet/guide/approccio-database-v ...
esempio
Codice sorgente - presumibilmente VB.NET |
Dim objconn As OleDbConnection Dim stringaconn As String Dim stringasql As String ="UPDATE ecc..." Dim objcomm As OleDbCommand stringaconn="Provider=Microsoft.JET.OLEDB.4.0;Data Source=" stringaconn=stringaconn & "c:\test\prova.mdb" objconn=New OleDbConnection(stringaconn) objconn.Open() objcomm=New OleDbCommand(stringasql,objconn) Dim risputente As Integer risputente=objcomm.ExecuteNonQuery() If risputente=1 Then msgbox("query eseguita con successo") End If
|
|
|
lucas95 (Normal User)
Rookie
Messaggi: 33
Iscritto: 11/11/2011
|
Ma non è codice VB.NET il mio, ma VB6. Sinceramente non ho capito l'esempio. Ripeto a me serve capire come posso modificare il contenuto di un record in un database Access. Nel database sono presenti:
1)ID
2)Nominativo
3)Squadra
4)Min Giocati
5)Gol
6)CartR
7)CartG
Come detto prima...inserisco in due TextBox il nome/cognome e squadra...si apre una form con tutte le caratteristike. In questa form c'è anke una Text(txtSquadraNew) e un pulsante(cmdModifica). Se in txtSquadraNew scrivo una nuova squadra e clicco su Modifica, quest'ultimo deve modificare la squadra di quel giocatore.
Grazie!
Ultima modifica effettuata da lucas95 il 09/02/2012 alle 15:22 |
|
Bonny (Member)
Expert
Messaggi: 437
Iscritto: 24/04/2009
|
Allora non capisci ...DEVI ESEGUIRE LA QUERY SCRITTA IN SQLLLL!!!!!!!!!!!!!!!!!!!!!!!!!
che cavolo centrano le textbox e le altre componenti mah!!
Non hai il manuale vb6 a portata di mano??
Cerca come eseguire una query in Access con vb6
è un metodo del tipo:
Codice sorgente - presumibilmente Plain Text |
cn.Execute "UPDATE bla bla "
|
Ultima modifica effettuata da Bonny il 09/02/2012 alle 15:37 |
|
lucas95 (Normal User)
Rookie
Messaggi: 33
Iscritto: 11/11/2011
|
Non c'è bisogno di innervosirsi, se uno non capisce cosa intendevi. Cerchiamo di avere toni adeguati. Tu parli di VB.NET, quando uso VB6; ma comunque leggo ancora meglio la sezione "Linguaggio SQL"...se non riesco...o mi blocco da qualche parte scrivo nuovamente sul forum!
Grazie lo stesso!
|
|
lucas95 (Normal User)
Rookie
Messaggi: 33
Iscritto: 11/11/2011
|
Allora:
Codice sorgente - presumibilmente VB.NET |
Private Sub cmdModifica_Click() Dim valore As String valore = txtSquadraNew.Text Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.Open str rs.Open "SerieA", cn Do Until rs.EOF = False If valore <> "" Then cn.Execute "UPDATE SerieA SET Squadra = 'Juventus' WHERE Squadra='Roma'" End If rs.MoveNext Loop rs.Close cn.Close End Sub
|
Dove sbaglio???
|
|
Bonny (Member)
Expert
Messaggi: 437
Iscritto: 24/04/2009
|
Hai ragione scusami però continuo a vedere cose strane ..
Dunque eseguire una query sql del tipo UPDATE modifica alcuni campi di un record di una tabella.
esempio:
Codice sorgente - presumibilmente Visual Basic 6 |
UPDATE <Tabella> SET <nome campo> = <nuovo valore> [WHERE <condizione>]
/*tradotta in italiano aggiorno il campo <nome campo> con il nuovo valore <nuovo valore> nella tabella <Tabella> dove per esempio il campo squadra è uguale a 'juventus'*/
|
Una volta data questa istruzione per mezzo di vb6 ad Access il campo verrà modificato, quindi non capisco il senso di quel ciclo anche cmq il recordSet fa una copia dei record in Ram..
Anche se io conoscessi bene il vb6 e ti scrivo il codice che senso avrebbe..
Secondo me non hai capito concettualmente come interrogare il db.
Ultima modifica effettuata da Bonny il 09/02/2012 alle 21:19 |
|