Conversione del carattere "

lunedì 21 giugno 2004 - 09.47

PEPE Profilo | Senior Member

Salve,
sicuramente per voi risulterà semplice.
Durante un update su un campo di un db e' possibile che l'utente utilizzi caratteri come ' ". Quindi io controllo il campo e tramite la funzione replace volevo convertire i valori.

per ' non ci sono stati problemi e l'ho trasformato in ''
per il " come si fa?

PEPE Profilo | Senior Member

ok grazie millie

PEPE Profilo | Senior Member

ho provato ad usare i parametri per le select ma per gli update non ho ben capito qual'e' la corretta sintassi.
io ho fatto una cosa del genere

"update tabella Set nome= @nome where codice=0"

objParam= objCommand.Parameters.Add("@nome",OleDbType.VarChar)
objParam.Direction= ParameterDirection.Input
objParam.Value= lblNome.Text


Errore di sintassi nell'istruzione UPDATE
objCommand.ExecuteNonQuery()

PEPE Profilo | Senior Member

Sono riuscito a capire meglio il problema ovvero:
il campo nel database e' di tipo memo (ho provato anche con string) e dov'e' contenuto il testo nella pagina aspx e' un textarea.

ho provato a mettere in un campo stringa la textarea.value, e questo campo l'ho dato come parametro al mio oggetto oledbcommand.

stringanote= textarea.Value
objParam= objCommand.Parameters.Add("@note",OleDbType.VarChar)
objParam.Direction= ParameterDirection.Input
objParam.Value= stringaNote
objCommand.ExecuteNonQuery()

Per tutti gli altri campi, che sono interi, mi funziona.

PEPE Profilo | Senior Member

Sto utilizzando l'oledb in quanto il database e' access.
Cmq ho provato a mettere i ? ma non mi funziona neanche con i campi che con la @ mi funzionavano.
Ti scrivo il codice

Dim objConn as new OleDbConnection()
Dim objCommand as new OleDbCommand()
Dim objParam as OleDbParameter

sqlQuery=UPDATE Tabella SET campo1= @c1, campo2= @c2, campo3= @c3, campo4= @c4 WHERE codice=1
objConn.ConnectionString()= stringa........nomedb.mdb
objCommand.Connection()= objConn
objConn.Open()
objCommand.CommandText()= sqlQuery
objParam= objCommand.Parameters.Add("c1",OleDbType.Integer)
objParam.Direction= ParameterDirection.Input
objParam.Value= lblCcampo1.Text
objParam= objCommand.Parameters.Add("c2",OleDbType.Integer)
objParam.Direction= ParameterDirection.Input
objParam.Value= lblCampo2.Text
objParam= objCommand.Parameters.Add("c3",OleDbType.Integer)
objParam.Direction= ParameterDirection.Input
objParam.Value= lblCampo3.Text
objParam= objCommand.Parameters.Add("c4",OleDbType.VarChar)
objParam.Direction= ParameterDirection.Input
objParam.Value= lblCampo4.Value
objCommand.ExecuteNonQuery()
objConn.Close()

lblCampo1,2,3 sono delle asp textbox e nel db corrispondono a 3 campi interi
lblCampo4 e' una Textarea con runat=server che nel db corrisponde ad un campo memo

Se levo le istruzioni per il campo 4 mi funziona tutto ok, per il testo nella texarea mi sbrocca.

PEPE Profilo | Senior Member

Sono finalmente riuscito a capire il problema quindi posto la soluzione in caso qualcun altro avesse questo problema.

Allora il campo sul database "Access" sul quale cercavo di effettuare l'update e' di tipo memo e si chiama note.
Per quanto riguarda il tipo memo non ci sono problemi ma il fatto che il campo si chiami note genera l'errore in fase di update. E' bastato rinominare il campo sul db (es note_utente) perchè l'update funzionasse bene.

Ora sinceramente non so perchè il nome note non gli piace; magari e' un campo nascosto o non so.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5