Sostituzione apici in MySql

giovedì 12 maggio 2005 - 14.49

Leo Profilo | Junior Member

Ciao a tutti.
Ho un problemino.

Utilizzo un database MySql, e durante l'inserimento mi da problemi se all'interno del dato ci sono gli apici.Quindi ho utilizzato questo breve metodo per sostituire l'apice con barra/apice, in modo tale che mysql accetti l'inserimento.Il problema e' che vorrei escludere il primo byte e l'ultimo byte del valore, che in questo caso corrisponde a sValue .. considerando che per esempio durante un'insert o un update il primo e l'ultimo appunto corrispondono ad un'apice (INSERT INTO table VALUES ('value1,'value2').

Questo metodo mi da errore, e non capisco il perche .. avete voi un suggerimento sul come possa risolvere ?

'sValue = Replace(sValue.Substring(1, sValue.Length-1), "'", "\'")

(faccio una sostituzione di quello che si trova all'interno della stringa , senza considerare il primo e l'ultimo byte che devono avere l'apice per poter effettuare l'insert).

Ringrazio tutti per qualsiasi risposta.
Ciao

Mirco

freeteo Profilo | Guru

ciao Mirco
direi che è consigliato usare i dataparameter invece di scrivere la stringa perche' risolvi i problemini di apici, formati date,boleani etc... che sono sempre 1po 1casino tra i diversi db...
ovviamente per mysql sono i "MysqlDataParameter" che aggiungi all'oggetto MysqlCommand, io uso i MysqlConnector downloadabili da mysql.com e mi sono sempre trovato bene...
Metodologia da usare anche in altri db come Sql o Access etc... 1po piu codice ma molti meno problemi ;-)
ciao

Leo Profilo | Junior Member

Ciao Teo,
per il momento ti ringrazio .. io intanto sto facendo delle ricerche su google come ricerca : MysqlDataParameter, ma non sto trovando molto ..
ma sono delle librerie che devo scaricare ? io uso il db provider .. guardo se accetta questi metodi ..
ma poi come si usano .. ??
non e' che potresti postarmi un piccolo esempio.??
Ti ringrazio per l'attenzione.

Ciao

Mirco

AntonioM Profilo | Junior Member

Ciao Leo,
se ho capito bene, puoi risolvere la prima parte del problema semplicemente raddoppiando gli apici contenuti nella stringa. Per esempio se vuoi inserire la stringa "Via dell'ostrica" puoi farlo inserendo "Via dell''ostrica" cioè usando due apici anzichè uno. ovviamente puoi costruirti una funzione che lo faccia in automatico...

Spero di esserti stato d'aiuto.

Antonio

Leo Profilo | Junior Member

Antonio,
grazie per aver risposto ..
.. infatti io alla vine non conoscendo i MySqlDataParameter .. ho deciso di farmi una funzione che mi togli gli apici da una determinata stringa .. senza considerare il primo e l'ultimo byte che devono averli (serve per fare l'insert o l'update).

la funzione e' quata , ma non va :

'sValue = Replace(sValue.Substring(1, sValue.Length-1), "'", "\'")

Grazie per qualsiasi risposta

Mirco
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