274 messaggi dal 23 aprile 2008
Ciao a tutti,
utilizzando il seguente codice per aggiornare un campo dei un record mi da problemi:
Dim name As String = "marco"
        Dim cambia As String = "D'amico"
        Dim OleDbConn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection
        OleDbConn.ConnectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}mdb-database\nome.mdb;", Request.PhysicalApplicationPath)

        Dim Sql As String = "UPDATE news SET testo='" & cambia & "' WHERE nome ='" & name & "'"
        Dim Cmd As OleDb.OleDbCommand = OleDbConn.CreateCommand()
        Cmd.CommandText = Sql

        OleDbConn.Open()
        Cmd.ExecuteNonQuery()
        OleDbConn.Close()
        GridView1.DataBind()


ma se invece di "D'amico" metto "D''amico", e cioè due apostrofi, non mi da errore,
adesso il problema è che la variabile name la vorrei associare ad una textbox, e li non mi sembra bello quando si deve digitare un'apostrofo, digitarne2.

Come posso fare?

grazie
dovresti usare i parameters soprattutto per evitare sql-injection

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
a parte l'utilizzo dei parametri che sono cosa sana e giusta,
devi intercettare l'utilizzo dell'apostrofo in fase di inserimento ed in fase di lettura del dato dal database per esempio

quando viene inserito

campo = trim(replace(campo,"'","''"))


quando viene letto dal database

select ltrim(replace(campo,'''''','''')) as campo, ......


spero esserti stato utile

ciao

Alberto
274 messaggi dal 23 aprile 2008
ninja47 ha scritto:
a parte l'utilizzo dei parametri che sono cosa sana e giusta,
devi intercettare l'utilizzo dell'apostrofo in fase di inserimento ed in fase di lettura del dato dal database per esempio

quando viene inserito

campo = trim(replace(campo,"'","''"))


quando viene letto dal database

select ltrim(replace(campo,'''''','''')) as campo, ......


spero esserti stato utile

ciao

Alberto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.