ciao ragazzi,

sto realizzando un pannello di gestione per l'inserimento di contenuti in un sito, ho ereditato una struttura già realizzata che funziona abbastanza bene ma mi da un piccolo prblema sul replace degli apici:

quando inserisco un testo con apostrofi mi capita che l'apice viene sostituito dal doppio apice mentre poi se modifico il testo dopo averlo inserito si prende tranquillamente l'apice singolo.

la funzione che fa i replace è questa:

codice:
public function FixData(campo,tipocampo,obbligatorio,lunghezzamassima)
	if obbligatorio = 1 then
		if campo = "" then response.redirect("error.asp")
	end if
	if lunghezzamassima <> "" and len(campo) > lunghezzamassima then response.redirect("error.asp")	
	if campo <> "" then
		select case tipocampo
			Case 1 'testo semplice
				FixData = Replace(campo,"'","''")
			Case 2 'codice fiscale
				FixData = Replace(campo,"'","''")
			Case 3 'numero
				FixData = Replace(campo,"'","''")
			Case 4 'email
				FixData = Replace(campo,"'","''")
			Case 5 'data
				FixData = Replace(campo,"'","''")
			Case 6 'id numerico > 0
				FixData = Replace(campo,"'","''")		
		end select
	end if
	if campo = "" and obbligatorio = 0 then FixData = ""
end function
mentre la pagina di inserimento dei dati nel database è questa:

codice:
%
Set SmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
SmartUpload.Upload

id_news = FixData(SmartUpload.Form.Item("id_news"),6,0,6)
news_data = FixData(SmartUpload.Form.Item("news_data"),1,0,255)
news_titolo = FixData(SmartUpload.Form.Item("news_titolo"),1,0,255)
news_txt = FixData(SmartUpload.Form.Item("news_txt"),1,0,1000000000)

ApriConnessione
if id_news = "" then
	Set rs = Server.CreateObject("ADODB.Recordset")
	rs.Open "news", Conn, 3, 3
	rs.addnew
	rs("news_data") = news_data
	rs("news_titolo") = news_titolo
	id_news_new = rs("id_news")	

	If SmartUpload.Files("news_all").Size > 0 Then
		SmartUpload.Files("news_all").saveas "/all_news/" & id_news_new & "." & SmartUpload.Files("news_all").FileExt
		news_all = id_news_new & "." & SmartUpload.Files("news_all").FileExt
	End If

	If SmartUpload.Files("news_img").Size > 0 Then
		SmartUpload.Files("news_img").saveas "/all_news/" & id_news_new & "_img." & SmartUpload.Files("news_img").FileExt
		news_img = id_news_new & "_img." & SmartUpload.Files("news_img").FileExt
	End If
	
	rs.update
	rs.movelast
	id_news_new = rs("id_news")
	rs.Close
	set rs = Nothing

	If SmartUpload.Files("news_all").Size > 0 Then
		SmartUpload.Files("news_all").saveas "/all_news/" & id_news_new & "." & SmartUpload.Files("news_all").FileExt
		news_all = id_news_new & "." & SmartUpload.Files("news_all").FileExt
	End If
	If SmartUpload.Files("news_img").Size > 0 Then
		SmartUpload.Files("news_img").saveas "/all_news/" & id_news_new & "_img." & SmartUpload.Files("news_img").FileExt
		news_img = id_news_new & "_img." & SmartUpload.Files("news_img").FileExt
	End If

	if SmartUpload.Files("news_all").Size > 0 then
		strsql = "UPDATE news SET "
		if news_all <> "" then strsql = strsql & "news_all = '" & news_all & "', "
		strsql = left(strsql, len(strsql) - 2)
		strsql = strsql & " WHERE id_news = " & id_news_new
		Conn.Execute(strsql)
	End if
	
	if SmartUpload.Files("news_img").Size > 0 then
		strsql = "UPDATE news SET "
		if news_img <> "" then strsql = strsql & "news_img = '" & news_img & "', "
		strsql = left(strsql, len(strsql) - 2)
		strsql = strsql & " WHERE id_news = " & id_news_new
		Conn.Execute(strsql)
	End if

else
	strsql = "UPDATE news SET news_data = '" & news_data & "', news_titolo = '" & news_titolo & "', news_txt = '" & news_txt & "' WHERE id_news = " & id_news
	Conn.Execute(strsql)
	
	
	If SmartUpload.Files("news_all").Size > 0 Then
		SmartUpload.Files("news_all").saveas "/all_news/" & id_news & "." & SmartUpload.Files("news_all").FileExt
		news_all = id_news & "." & SmartUpload.Files("news_all").FileExt
	End If
	If SmartUpload.Files("news_img").Size > 0 Then
		SmartUpload.Files("news_img").saveas "/all_news/" & id_news & "_img." & SmartUpload.Files("news_img").FileExt
		news_img = id_news & "_img." & SmartUpload.Files("news_img").FileExt
	End If
	
	if SmartUpload.Files("news_all").Size > 0 then
		strsql = "UPDATE news SET "
		if news_all <> "" then strsql = strsql & "news_all = '" & news_all & "', "
		strsql = left(strsql, len(strsql) - 2)
		strsql = strsql & " WHERE id_news = " & id_news
		Conn.Execute(strsql)
	End if
	if SmartUpload.Files("news_img").Size > 0 then
		strsql = "UPDATE news SET "
		if news_img <> "" then strsql = strsql & "news_img = '" & news_img & "', "
		strsql = left(strsql, len(strsql) - 2)
		strsql = strsql & " WHERE id_news = " & id_news
		Conn.Execute(strsql)
	End if
	
end if
ChiudiConnessione

if id_news = "" then
	response.redirect ("news.asp")
else
	response.redirect ("news.asp?Funzione=VisualizzaNews&id_news=" & id_news)
end if

%>

qualcuno riesce a capire dove sta l'errore?