Inquiridor
Campo "Nº do Processo" da minha página ASP deverá aceitar caracteres especiais, só que não tá fazendo...

Pergunta
-
Olá gente,
Como vcs devem ter lido acima, esse é problema que tá ocorrendo com minha página aí abaixo, mexi no banco de dados e coloquei o campo para varchar(50), mexi no código mas não funcionou (o código não fui eu quem fiz, apena sestou tentando dar manutenção), vou postar ele aí para ver se vcs podem me ajudar... Observei que tem uam varivael cahamda chave, não sei se ela tá travando em algum momento a gravação no BD...
Code Snippet<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Session.LCID = 1046
%>
<%
set objCmm = CreateObject("ADODB.Connection")
objCmm.Open Application("strConn")
on error resume next
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Dim clipConexao,AcaoBotao,vara,processo,dtaent , clipSql, DataNot, ano, mes, dia, anexarres, foto1, n, Assunto, Manchete, Fonte, Noticia, destinacao
dim ID_ARQ,ID_TIPOARQ
dim doc_nom,doc_caminho
dim materia
dim tipo_doc
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBinIf UploadRequest.Item("Gravar").Item("Value") = "Gravar" then
'If Request("Gravar") = "Gravar" Then
materia = UploadRequest.Item("materia").Item("Value")
destinacao = UploadRequest.Item("destinacao").Item("Value")
dtaent =UploadRequest.Item("dtaent").Item("Value")
ano = cstr(year(dtaent))
mes = mid(dtaent,4,2)
dia = mid(dtaent,1,2)
dtaent = ano + "-" + mes + "-" + dia
processo = UploadRequest.Item("procno").Item("Value")
vara = UploadRequest.Item("varano").Item("Value")
arquivo = UploadRequest.Item("anexarres").Item("Value")
hoje = date()
anoatual = cstr(year(hoje))
mesatual = mid(cstr(100 + month(hoje)),2,2)
diaatual = mid(cstr(100 + day(hoje)),2,2)
hoje = anoatual + "-" + mesatual + "-" + diaatual
pasta= (server.mappath("\"))& "\portaljuridico\arquivos\"
contentType = UploadRequest.Item("anexarres").Item("ContentType")
filepathname = UploadRequest.Item("anexarres").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
filename = Replace( ucase(filename),".","_" & materia & filepathname2 &".")
value = UploadRequest.Item("anexarres").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14Set objFS = Server.CreateObject("Scripting.FileSystemObject")
If objFS.FileExists( pasta & filename ) Then
mensagem="Já existe um arquivo cadastrado com este nome, Favor alterar arquivo"
Response.Write("<script language='JavaScript'>alert('" & mensagem & "');</script>")
Else
if filepathname <> "" then
Set MyFile = ScriptObject.CreateTextFile(pasta & filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
end if
if err.number <> 0 then
mensagem = err.description
else
inserir = "Set nocount on insert into tbresenha values(" + processo + "," + vara
inserir = inserir + ",'" + dtaent + "','1753-01-01 00:00:00.000','" + materia
inserir = inserir + "','" + filename + "','',0,'1753-01-01 00:00:00.000',0,'"
inserir = inserir + login + "','"+ hoje + "','1753-01-01 00:00:00.000', '" + destinacao + "')"
'Response.Write inserir
'Response.End ()
set objCmm1 = CreateObject("ADODB.Connection")
objCmm1.Open Application("strConn")
set rs = objCmm1.Execute(inserir)
if objCmm1.Errors.Count <> 0 then
Response.Write "Ocorreu um erro nesta página!<BR>"
Response.Write "Número do erro: " & Err.number & "<BR>"
Response.Write "Descrição fornecida: " & Err.Description & "<BR>"
mensagem = "Erro na Inclusão!"
else
mensagem = "Operação com Sucesso"
end if
objCmm1.Close()
set objCmm1 = nothing
Response.Write("<script language='JavaScript'>alert('" & mensagem & "');</script>")
end if
End If
inserir = "Set nocount on insert into tbresenha values(" + processo + ","
inserir = inserir + vara + ",'" + dtaent + "','1753-01-01 00:00:00.000','"
inserir = inserir + materia + "','" + arquivo + "','',0,'1753-01-01 00:00:00.000',0,'"
inserir = inserir + login + "','"+ hoje + "','1753-01-01 00:00:00.000', '" + destinacao + "')"
set objCmm1 = CreateObject("ADODB.Connection")
objCmm1.Open Application("strConn")
set rs = objCmm1.Execute(inserir)
objCmm1.Close
set objCmm1 = nothing
End IfIf UploadRequest.Item("Pesquisar").Item("Value") = "Pesquisar" Then
sql = "select numRes_NumProc, numRes_NumVar, dtmRes_DatRes, "
sql = sql + "Convert(char(10), dtmRes_DatEnc,103) as 'dtmRes_DatEnc', vchRes_MatJur, vchRes_Anexo, chrRes_StaVis, numRes_EncAdv, "
sql = sql + " Convert(char(10), dtmRes_Prz,103) as 'dtmRes_Prz', numRes_Aviso, vchRes_UsuCod, "
sql = sql + "Convert(char(10), dtmRes_DatAtu,103) as 'dtmRes_DatAtu', Convert(char(10), dtmRes_DatVis,103) as 'dtmRes_DatVis', ResDestinacao from tbresenha ORDER BY dtmRes_DatRes desc "If UploadRequest.Item("materia").Item("Value") = "TRABALHISTA" Then
sql = "select numRes_NumProc, numRes_NumVar, Convert(char(10), dtmRes_DatRes,103) as 'dtmRes_DatRes', "
sql = sql + "Convert(char(10), dtmRes_DatEnc,103) as 'dtmRes_DatEnc', vchRes_MatJur, vchRes_Anexo, chrRes_StaVis, numRes_EncAdv, "
sql = sql + " Convert(char(10), dtmRes_Prz,103) as 'dtmRes_Prz', numRes_Aviso, vchRes_UsuCod, "
sql = sql + "Convert(char(10), dtmRes_DatAtu,103) as 'dtmRes_DatAtu', Convert(char(10), dtmRes_DatVis,103) as 'dtmRes_DatVis', ResDestinacao from tbresenha"
sql = sql + " Where vchRes_MatJur = 'TRABALHISTA'"
End IfIf UploadRequest.Item("materia").Item("Value") = "CIVEL" Then
sql = "select numRes_NumProc, numRes_NumVar, Convert(char(10), dtmRes_DatRes,103) as 'dtmRes_DatRes', "
sql = sql + "Convert(char(10), dtmRes_DatEnc,103) as 'dtmRes_DatEnc', vchRes_MatJur, vchRes_Anexo, chrRes_StaVis, numRes_EncAdv, "
sql = sql + " Convert(char(10), dtmRes_Prz,103) as 'dtmRes_Prz', numRes_Aviso, vchRes_UsuCod, "
sql = sql + "Convert(char(10), dtmRes_DatAtu,103) as 'dtmRes_DatAtu', Convert(char(10), dtmRes_DatVis,103) as 'dtmRes_DatVis', ResDestinacao from tbresenha"
sql = sql + " Where vchRes_MatJur = 'CIVEL'"
End IfIf UploadRequest.Item("materia").Item("Value") = "OUTROS" Then
sql = "select numRes_NumProc, numRes_NumVar, Convert(char(10), dtmRes_DatRes,103) as 'dtmRes_DatRes', "
sql = sql + "Convert(char(10), dtmRes_DatEnc,103) as 'dtmRes_DatEnc', vchRes_MatJur, vchRes_Anexo, chrRes_StaVis, numRes_EncAdv, "
sql = sql + " Convert(char(10), dtmRes_Prz,103) as 'dtmRes_Prz', numRes_Aviso, vchRes_UsuCod, "
sql = sql + "Convert(char(10), dtmRes_DatAtu,103) as 'dtmRes_DatAtu', Convert(char(10), dtmRes_DatVis,103) as 'dtmRes_DatVis', ResDestinacao from tbresenha"
sql = sql + " Where vchRes_MatJur = 'OUTROS'"
End If
If UploadRequest.Item("destinacao").Item("Value") = "CACON" Then
sql = "select numRes_NumProc, numRes_NumVar, Convert(char(10), dtmRes_DatRes,103) as 'dtmRes_DatRes', "
sql = sql + "Convert(char(10), dtmRes_DatEnc,103) as 'dtmRes_DatEnc', vchRes_MatJur, vchRes_Anexo, chrRes_StaVis, numRes_EncAdv, "
sql = sql + " Convert(char(10), dtmRes_Prz,103) as 'dtmRes_Prz', numRes_Aviso, vchRes_UsuCod, "
sql = sql + "Convert(char(10), dtmRes_DatAtu,103) as 'dtmRes_DatAtu', Convert(char(10), dtmRes_DatVis,103) as 'dtmRes_DatVis', ResDestinacao from tbresenha"
sql = sql + " Where ResDestinacao = 'CACON'"
End If
If UploadRequest.Item("destinacao").Item("Value") = "CAGER" Then
sql = "select numRes_NumProc, numRes_NumVar, Convert(char(10), dtmRes_DatRes,103) as 'dtmRes_DatRes', "
sql = sql + "Convert(char(10), dtmRes_DatEnc,103) as 'dtmRes_DatEnc', vchRes_MatJur, vchRes_Anexo, chrRes_StaVis, numRes_EncAdv, "
sql = sql + " Convert(char(10), dtmRes_Prz,103) as 'dtmRes_Prz', numRes_Aviso, vchRes_UsuCod, "
sql = sql + "Convert(char(10), dtmRes_DatAtu,103) as 'dtmRes_DatAtu', Convert(char(10), dtmRes_DatVis,103) as 'dtmRes_DatVis', ResDestinacao from tbresenha"
sql = sql + " Where ResDestinacao = 'CAGER'"
End IfIf UploadRequest.Item("dtaent").Item("Value") <> "" Then
data = UploadRequest.Item("dtaent").Item("Value")
ano = cstr(year(data))
mes = mid(cstr(100 + month(data)),2,2)
dia = mid(cstr(100 + day(data)),2,2)
sql = sql + " and dtmRes_DatRes = '" + ano + "-" + mes + "-" + dia + "'"
End IfIf cstr(UploadRequest.Item("procno").Item("Value")) <> "" Then
sql = sql + " and numRes_NumProc = " + UploadRequest.Item("procno").Item("Value")
End If
If UploadRequest.Item("varano").Item("Value") <> "" Then
sql = sql + " and numRes_NumVar = " + UploadRequest.Item("varano").Item("Value")
End If
set objCmm2 = CreateObject("ADODB.Connection")
set sqlC = server.CreateObject("ADODB.Recordset")
objCmm2.Open Application("strConn")
SET sqlC = objCmm2.Execute (sql)
End If
If UploadRequest.Item("Excluir").Item("Value") = "Excluir" Then
'If Request("Excluir") = "Excluir" Then
chave1 = UploadRequest.Item("chave1").Item("Value")
'chave1 = request("chave1")
ano = cstr(year(chave1))
mes = mid(chave1,4,2)
dia = mid(chave1,1,2)
chave1 = ano + "-" + mes + "-" + dia
chave2 = UploadRequest.Item("chave2").Item("Value")
chave3 = UploadRequest.Item("chave3").Item("Value")
'chave2 = request("chave2")
'chave3 = request("chave3")
excluir = "Set nocount on delete from tbresenha Where numRes_NumProc = " + chave2 + " and numRes_NumVar = " + chave3
excluir = excluir + " and dtmRes_DatRes = '" + Chave1 + "'"
set objCmm1 = CreateObject("ADODB.Connection")
objCmm1.Open Application("strConn")
set rs = objCmm1.Execute(excluir)
objCmm1.Close
set objCmm1 = nothing
'Response.Write(chave1)
'Response.Write(chave2)
'Response.Write(chave3)
'Response.Write(excluir)
'Response.End()
If chave2 <> "" Then
Response.Write("<script language='JavaScript'>alert('" & "Registro excluído com sucesso" & "');</script>")
End If
End IfSet objScap1 = Server.CreateObject("SCAP1.clsSisLock")
objScap1.UsuarioLogin = Session("Login")
wResultAtual = objScap1.Mensagem
If wResultAtual <> vbNullString Then
Response.Status = "401 Acesso Negado"
Response.Write wResultAtual
Response.End
End if
%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- #include file="ValidaData.Inc" -->
<title>SECRETARIA</title>
<link rel="stylesheet" type="text/css" href="estilos/css.css">
</head><script language="JavaScript">
function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode; }
else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
}
sValue = objForm[strField].value;
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
fldLen = sValue.length;
mskLen = sMask.length;i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))if (bolMask) {
sCod += sMask.charAt(i);
mskLen++; }
else {
sCod += sValue.charAt(nCount);
nCount++;
}i++;
}objForm[strField].value = sCod;
if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
return true;
} }
else {
return true;
}
}
</script><Script language="VBScript">
Function HabilitaBotao()
If document.resenhasecretaria.materia.value = "" Then
Msgbox("Selecione o campo matéria")
document.resenhasecretaria.materia.focus
exit function
Else
If document.resenhasecretaria.destinacao.value = "" Then
Msgbox("Selecione o campo Destino")
document.resenhasecretaria.destinacao.focus
exit function
Else
If document.resenhasecretaria.dtaent.value = "" Then
msgBox("Preencha a data de entrada")
document.resenhasecretaria.dtaent.focus
exit function
Else
If document.resenhasecretaria.procno.value = "" Then
Msgbox("Preencha o número do protocolo")
document.resenhasecretaria.procno.focus
exit function
Else
If document.resenhasecretaria.varano.value = "" Then
MsgBox("Preencha o número da vara")
document.resenhasecretaria.varano.focus
exit function
Else
If document.resenhasecretaria.anexarres.value = "" Then
MsgBox("Preencha o nome e caminho do arquivo a ser anexado")
document.resenhasecretaria.anexarres.focus
exit function
End If
End If
End If
End If
End If
End if
document.resenhasecretaria.submit
End FunctionFunction Pesquisar_registro()
If document.resenhasecretaria.Chave1.value <> "" and document.resenhasecretaria.Chave2.value <> "" and document.resenhasecretaria.Chave3.value <> "" Then
'Msgbox("Você não precisa selecionar o registro")
document.resenhasecretaria.reset
exit function
End If
document.resenhasecretaria.submit
End FunctionFunction Excluir_registro()
If document.resenhasecretaria.Chave1.value = "" or document.resenhasecretaria.Chave2.value = "" and document.resenhasecretaria.Chave3.value = "" Then
Msgbox("Selecione o registro a ser excluído")
document.resenhasecretaria.materia.focus
exit function
End If
document.resenhasecretaria.submit
End FunctionFunction VerConteudo(KeyCod)
If KeyCod <> vbKeyBack Then
If Not (KeyCod >= 48 And KeyCod <= 57) Then
window.event.keyCode = 0
End If
End If
End Function
Function checado()
If document.resenhasecretaria.arquivo.checked = true Then
document.resenhasecretaria.destino.disabled = true
document.resenhasecretaria.prazo.focus()
Else
document.resenhasecretaria.destino.disabled = false
document.resenhasecretaria.destino.focus()
End If
End Function
Function selecionar(chave)
tam = 1
tamanho = len(chave)
while tam <= tamanho
If mid(chave,tam,1) = "@" Then
chave1 = mid(chave,1,tam-1)
pos = tam
tam = tamanho + 1
End If
tam = tam + 1
WEnddocument.resenhasecretaria.chave1.value = right("00" & day(chave1) ,2 ) & "/" & right("00" & MONTH(chave1) ,2 ) &"/" & YEAR(chave1)
NovaChave = mid(chave,pos+1,tamanho)
tam = 1
tamanho = len(NovaChave)
while tam <= tamanho
If mid(NovaChave,tam,1) = "@" Then
pos = tam
document.resenhasecretaria.chave2.value = left(NovaChave,pos-1)
Tam = Tamanho + 1
End If
tam = tam + 1
WEnd
NovaChave = mid(novachave,pos+1,tamanho)
document.resenhasecretaria.chave3.value = left(novachave,len(novachave))
End Function
</script>
<body leftmargin="0" topmargin="6">
<form id="resenhasecretaria" name="resenhasecretaria" action="ressecretaria.asp" method="post" ENCTYPE="multipart/form-data" >
<table width="600" align="center" border="0">
<tr>
<td class="textoscenter" background="images/bg_titc.jpg" style="background-repeat:no-repeat; background-position:center" >SECRETARIA</td>
</tr>
</table>
<br>
<table width="600" class="borda" align="center" border="0">
<tr>
<td>
<table border="0">
<tr>
<td align="left" width="300" ><font class="textoss">Matéria:</font></td>
<td align="left" width="300"><select name="materia" id="materia">
<option selected value="">Selecione</option>
<option value="CIVEL">Civel</option>
<option value="TRABALHISTA">Trabalhista</option>
<option value="OUTROS">Outros</option>
</select></td>
</tr>
<tr>
<td align="left" width="300" ><font class="textoss">Destino:</font></td>
<td align="left" width="300"><select name="destinacao" id="destinacao">
<option selected value="">Selecione</option>
<option value="CACON">CACON</option>
<option value="CAGER">CAGER</option>
</select></td>
</tr>
<tr>
<td ><font class="textoss">Data de Resenha:</font></td>
<td align="left"><input name="dtaent" type="text" class="textoss" id="dtaent" size="10" maxlength="10" onKeyPress="return txtBoxFormat(document.resenhasecretaria, 'dtaent', '99/99/9999', event)"></td>
</tr>
<tr>
<td ><font class="textoss">Processo No:</font></td>
<td align="left"><input name="procno" type="text" class="textoss" id="procno" size="20" maxlength="30"></td>
</tr>
<tr>
<td ><font class="textoss">Vara No:</font></td>
<td align="left" width="300"><input name="varano" type="text" class="textoss" id="varano" size="20" maxlength="30" OnKeyPress="BLOCKED SCRIPTVerConteudo window.event.keycode"></td>
</tr>
<tr>
<td ><font class="textoss">Anexar Resenha:</font></td>
<td align="left">
<input name="anexarres" type="file" class="textoss" value="Localizar" >
</tr>
<tr>
</table>
</td>
</tr>
</table>
<br >
<div class="links" style="position:relative; width:620; height:200;scrollbar-3d-light-color:#ffcc33;scrollbar-arrow-color:#000000;scrollbar-base-color:#333333;scrollbar-dark-shadow-color:#333333;scrollbar-face-color:#C4C4C3;scrollbar-highlight-color:#eeeeee;scrollbar-shadow-color:#ffffff; overflow:auto">
<table width="600" class="borda" align="center" border="0">
<tr>
<td width="2%"><font class="textoss"> </font></td>
<td ><font class="textoss">Matéria</font></td>
<td ><font class="textoss">Dt. Ent</font></td>
<td ><font class="textoss">Processo No</font></td>
<td ><font class="textoss">Vara No</font></td>
<td ><font class="textoss">Arquivo - Resenha</font></td>
<td ><font class="textoss">Destino</font></td>
</tr>
<%
Contador = 0
IF not sqlC.EOF then
CorAtu = "#FFFFFF"
while not sqlC.EOF
If contador = 0 then
contador = 1 %>
<tr bgcolor="#C2E9A9">
<%else
contador = 0 %>
<tr bgcolor="#ffffff">
<%End if %>
<%chave = cstr(sqlC("dtmRes_DatRes")) + "@" + + cstr(sqlC("numRes_NumProc")) + "@" +cstr(sqlC("numRes_NumVar"))%>
<td width="2%"><input style=" border:none;" id="selecao" name="selecao" type="radio" value="<%=chave%>" onclick="BLOCKED SCRIPTselecionar('<%=chave%>')"</td>
<td ><font class="textosc" value="<%=sqlC("vchRes_MatJur")%>"><%=sqlC("vchRes_MatJur")%></font></td>
<td ><font class="textosc" value="<%=sqlC("dtmRes_DatRes")%>"><%=sqlC("dtmRes_DatRes")%></font></td>
<td ><font class="textosc" value="<%=sqlC("numRes_NumProc")%>"><%=sqlC("numRes_NumProc")%></font></td>
<td ><font class="textosc" value="<%=sqlC("numRes_NumVar")%>"><%=sqlC("numRes_NumVar")%></font></td>
<td ><font class="textosc" value="<%=sqlC("vchRes_Anexo")%>"><%=sqlC("vchRes_Anexo")%></font></td>
<td ><font class="textosc" value="<%=sqlC("ResDestinacao")%>"><%=sqlC("ResDestinacao")%></font></td>
</tr>
<%sqlC.moveNext
wEnd
Else%>
<tr bgcolor="#C2E9A9">
<td colspan=11 align=center>
<font face="Arial, Helvetica, sans-serif" size="1" color="#000000" >Nenhuma informação foi localizada.</font></td>
</tr>
<%end if %>
</table>
</div>
<br >
<table width="600" align="center">
<tr>
<td colspan="10" align="center">
<input class="bt" onMouseOut="BLOCKED SCRIPTthis.className='bt'" onMouseOver="BLOCKED SCRIPTthis.className='bthover'" style="width:65" value="Pesquisar" name="Pesquisar" onClick="BLOCKED SCRIPTPesquisar_registro()" <%=objScap1.RestObj (58)%>>
<input class="bt" onMouseOut="BLOCKED SCRIPTthis.className='bt'" onMouseOver="BLOCKED SCRIPTthis.className='bthover'" style="width:65" value="Excluir" name="Excluir" onClick="BLOCKED SCRIPTExcluir_registro()" <%=objScap1.RestObj (57)%>>
<input class="bt" onMouseOut="BLOCKED SCRIPTthis.className='bt'" style="width:65" value="Gravar" name="Gravar" onClick="BLOCKED SCRIPTHabilitaBotao()" <%=objScap1.RestObj (56)%>>
<input class="bt" onMouseOut="BLOCKED SCRIPTthis.className='bt'" onMouseOver="BLOCKED SCRIPTthis.className='bthover'" style="width:65" type="button" value="Retornar" name="Retornar" onClick="self.location='inicial.asp'">
</td>
</tr>
</table>
<td align="left"><input type="hidden" name="chave1" class="textoss" id="Chave1" size="20" maxlength="30"></td>
<td align="left"><input type="hidden" name="chave2" class="textoss" id="chave2" size="20" maxlength="30"></td>
<td align="left"><input type="hidden" name="chave3" class="textoss" id="chave3" size="20" maxlength="30"></td>
</form>
</body>
</html>
<%objCmm.close()
set objCmm = nothing
%>
<!--#include file="upload.asp"-->
Todas as Respostas
-
Augusto,
Vc quer deixar alguem no minímo cansado lendo esse seu código rs, cara é o seguinte não acompahei o código inteiro mais de imediato, caracteres especiais não te nada a ver quando vc trabalha com varchar(50), faça um teste ae simples no seu bm faça um insert com um campo de tipo varchar(50) e observará que caracteres especiais são aceitos.
Att,
Att,