Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/10/2004, 08:35
Avatar de Myakire
Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Bueno, yo he usado instrucciones como la de abajo:

Código:
sNoReq=Request("hidsNoReq")
sNo_Prov=Request("hidNoProv")
sObserva=Request("hidObserva")
	
Set adoConn = Server.CreateObject("adodb.connection")
sConn = "Driver={SQL Server};SERVER=10.1.1.1; DATABASE=DB;UID=Iser;PWD=Paswd"
adoConn.IsolationLevel=256 
adoConn.Open  sConn	
adoConn.BeginTrans

dim cmd
set cmd=server.CreateObject("ADODB.command")
Set cmd.ActiveConnection = adoConn

 cmd.CommandText = "INSERT INTO Cotizacion(No_Req, Id_Prov, Fecha, Observacion, EstatusI) 	VALUES(@No_Req,	@Id_Prov,	GETDATE(),	@Observa,	'A')"
cmd.CommandType=adCmdText

IF LEN(sObserva) > 1000 THEN sObserva = MID(sObserva,1,1000)

cmd.Parameters.Append (cmd.CreateParameter("No_Req", adChar, adParamInput, 8, sNoReq))
cmd.Parameters.Append (cmd.CreateParameter("Id_Prov", adChar, adParamInput, 8, sNo_Prov))
cmd.Parameters.Append (cmd.CreateParameter("Observa", adVarChar, adParamInput, 1000, sObserva))
		
cmd.Execute

IF (adoConn.Errors.Count > 0) Then
   adoConn.RollBackTrans
Else	
   adoConn.CommitTrans
End If
Y como puedes ver, para el parámetro "@Observa" (que es el que puede o no puede llegar con información) no hago ninguna validación extra (salvo la longitud) y no hay problemas. Pero se me ocurre que te crees alguna función como esta, por ejemplo:

...
cmd.Parameters.Append (cmd.CreateParameter("Observa", adVarChar, adParamInput, 1000, ValidaDato(sObserva)))
...

Cita:
Function ValidaDato(valor)
if IsNull(Valor) Then
ValidaDato = " "
Else
ValidaDato = valor
End If
End Function
Es muy simple la solución, pero en muchas ocaciones, por estar buscando soluciones complejas no vemos lo más sencillo.