PDA

View Full Version : [mysql] problema con un update


RaouL_BennetH
09-06-2005, 17:56
ssql = ""
ssql = ssql & "UPDATE tblrubrica" & vbCrLf
ssql = ssql & "SET Cognome = '" & TextBox(0).Text & "', Nome = '" & TextBox(1).Text & "' ," & _
"Azienda = '" & TextBox(2).Text & "', Occupazione = '" & TextBox(3).Text & "' ," & _
"Indirizzo = '" & TextBox(4).Text & "', Citta = '" & TextBox(5).Text & "' ," & _
"CAP = '" & TextBox(6).Text & "', prov = '" & TextBox(7).Text & "' ," & _
"mail = '" & TextBox(8).Text & "', Web = '" & TextBox(9).Text & "' ," & _
"Ufficio = '" & TextBox(10).Text & "', Casa = '" & TextBox(11).Text & "' ," & _
"Cellulare = '" & TextBox(12).Text & "', Fax = '" & TextBox(13).Text & "' ," & _
"Note = '" & TextBox(14).Text & "' " & vbCrLf
ssql = ssql & "WHERE Cognome = '" & TextBox(0).Text & "'"


Il mio problema è che se vario qualsiasi campo, mi aggiorna il record, se invece vario il cognome, non lo aggiorna, come mai?!?

kingv
09-06-2005, 19:58
se cambi il campo che contiene il cognome cambi pure il ramo nella WHERE e non trova nessuna riga, perche' la cerca col nuovo cognome ;)

RaouL_BennetH
09-06-2005, 20:02
se cambi il campo che contiene il cognome cambi pure il ramo nella WHERE e non trova nessuna riga, perche' la cerca col nuovo cognome ;)

Lo sospettavo, anzi, ne ho avuto la certezza col debugger, dato che quando stoppavo l'esecuzione nel momento della "where", al valore "Cognome" non mi restituiva nulla.

Confesso che non ho capito come risolvere questo problema :what:

kingv
09-06-2005, 20:04
Confesso che non ho capito come risolvere questo problema :what:

ti salvi in una variabile il contenuto di cognome e nel ramo WHERE metti il vecchio valore , nella SET invece quello nuovo

RaouL_BennetH
09-06-2005, 20:07
ti salvi in una variabile il contenuto di cognome e nel ramo WHERE metti il vecchio valore , nella SET invece quello nuovo

acc!!! ma perchè non ci riesco mai a pensare da solo queste cose?

Quando poi me le suggerite, mi sento così scemo!!

Grazie Mille!! :ave:

RaouL_BennetH
13-06-2005, 10:09
ti salvi in una variabile il contenuto di cognome e nel ramo WHERE metti il vecchio valore , nella SET invece quello nuovo

allora, ho provato così:



Dim stemp As String
stemp = TextBox(0).Text
For x = 0 To 14
If InStr(TextBox(x).Text, "'") Then
TextBox(x).Text = Replace(TextBox(x).Text, "'", "\'")
End If
Next x


ssql = ""
ssql = ssql & "UPDATE tblrubrica" & vbCrLf
ssql = ssql & "SET Cognome = '" & stemp & "', Nome = '" & TextBox(1).Text & "' ," & _
"Azienda = '" & TextBox(2).Text & "', Occupazione = '" & TextBox(3).Text & "' ," & _
"Indirizzo = '" & TextBox(4).Text & "', Citta = '" & TextBox(5).Text & "' ," & _
"CAP = '" & TextBox(6).Text & "', prov = '" & TextBox(7).Text & "' ," & _
"mail = '" & TextBox(8).Text & "', Web = '" & TextBox(9).Text & "' ," & _
"Ufficio = '" & TextBox(10).Text & "', Casa = '" & TextBox(11).Text & "' ," & _
"Cellulare = '" & TextBox(12).Text & "', Fax = '" & TextBox(13).Text & "' ," & _
"Note = '" & TextBox(14).Text & "' " & vbCrLf

ssql = ssql & "WHERE Cognome = '" & TextBox(0).Text & "'"

Set rs = cn.Execute(ssql)


ma ho il medesimo risultato, cioè, che il campo cognome non viene aggiornato :(

kingv
13-06-2005, 11:34
ma il valore del campo cognome devi salvarlo prima di arrivare a questo codice, ovvero prmia che l'utente modifichi il valore dentro al textfield e cerchi di aggiornare il database!

altrimenti non cambia nulla e sia "stemp" che il textfield contengono il medesimo valore ;)