Foros del Web » Programando para Internet » ASP Clásico »

expliquenme esta linea

Estas en el tema de expliquenme esta linea en el foro de ASP Clásico en Foros del Web. Pues eso, he buscado por internet y no encuentro ninguna pagina que me diga exactamente los parametros que utiliza. (linea generada por dreamweaver) Código PHP: ...
  #1 (permalink)  
Antiguo 21/08/2007, 05:36
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
expliquenme esta linea

Pues eso, he buscado por internet y no encuentro ninguna pagina que me diga exactamente los parametros que utiliza. (linea generada por dreamweaver)
Código PHP:
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5"202150Request.Form("COMPOPRODDESC"))  adVarWChar 

todo esto, en su contesto es lo siguiente:
Código PHP:
Dim MM_editCmd

    Set MM_editCmd 
Server.CreateObject ("ADODB.Command")
    
MM_editCmd.ActiveConnection MM_ASH_STRING
    MM_editCmd
.CommandText "INSERT INTO tblpedidos (CLIENTE, FPEDIDOCLIENTE, COMERCIAL, COMPOPRODID, COMPOPRODDESC, CANTIDAD, PROVEEDOR, FPEDIDOPROV, FENTREGACLIENTE, RESERVADO, FACTURADO) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" 
    
MM_editCmd.Prepared true
    MM_editCmd
.Parameters.Append MM_editCmd.CreateParameter("param1"51, -1MM_IIF(Request.Form("CLIENTE"), Request.Form("CLIENTE"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 135, 1, -1, MM_IIF(Request.Form("FPEDIDOCLIENTE"), Request.Form("FPEDIDOCLIENTE"), null)) ' 
adDBTimeStamp
    MM_editCmd
.Parameters.Append MM_editCmd.CreateParameter("param3"51, -1MM_IIF(Request.Form("COMERCIAL"), Request.Form("COMERCIAL"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 202, 1, 50, Request.Form("COMPOPRODID")) ' 
adVarWChar
    MM_editCmd
.Parameters.Append MM_editCmd.CreateParameter("param5"202150Request.Form("COMPOPRODDESC")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param6", 5, 1, -1, MM_IIF(Request.Form("CANTIDAD"), Request.Form("CANTIDAD"), null)) ' 
adDouble
    MM_editCmd
.Parameters.Append MM_editCmd.CreateParameter("param7"51, -1MM_IIF(Request.Form("PROVEEDOR"), Request.Form("PROVEEDOR"), null)) ' adDouble
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param8", 135, 1, -1, MM_IIF(Request.Form("FPEDIDOPROV"), Request.Form("FPEDIDOPROV"), null)) ' 
adDBTimeStamp
    MM_editCmd
.Parameters.Append MM_editCmd.CreateParameter("param9"1351, -1MM_IIF(Request.Form("FENTREGACLIENTE"), Request.Form("FENTREGACLIENTE"), null)) ' adDBTimeStamp
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param10", 5, 1, -1, MM_IIF(Request.Form("RESERVADO"), 1, 0)) ' 
adDouble
    MM_editCmd
.Parameters.Append MM_editCmd.CreateParameter("param11"51, -1MM_IIF(Request.Form("FACTURADO"), 10))  adDouble
    MM_editCmd
.Execute 
es una inserción a través de formulario, os saldria mal explicarme que hace exactamente la función createparameter y sus parametros?
  #2 (permalink)  
Antiguo 21/08/2007, 07:46
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: expliquenme esta linea

Hola TCL_ZIP
Es muy bueno que sientas curiosidad por entender el código que genera tu desarrollador, ya que comprendiendolo, en poco tiempo vas a dejar de generar el código con el dreamweaver y vas a empezar a generarlo a mano que es mas práctico para comprender lo que estás haciendo en profundidad.
Para entender a qué se refiere, chequea este link que habla de la creación de parámetros para objetos command, con sus propiedades y métodos.
http://www.w3schools.com/ado/met_com...eparameter.asp
Saludos y éxitos!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #4 (permalink)  
Antiguo 21/08/2007, 07:54
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: expliquenme esta linea

Hola Myakire!
jaja! yo puse un solo link :( y vos opacaste mi respuesta poniendo todo un listado...
jajajaja! como siempre, nuestro amigo Myakire tiene toda la buena info actualizada, es un gusto estar de nuevo por aquí! Espero ser de ayuda.
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #5 (permalink)  
Antiguo 21/08/2007, 08:03
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: expliquenme esta linea

El objeto Command de ADO te permite atacar bases de datos. La mayor diferencia con su hermano Recordset es que permite manipular sentencias SQL predefinidas con parámetros lo que lo hace mucho más cómodo para trabajar (ambos devuelven un Recordset, o sea, un conjunto de registros). Ademas, el mismo objeto abre y cierra la conexión con la BD según sus propias necesidades.

Un ejemplo es el siguiente: Imagínate que necesitas enviar varias consultas muy similares. Lo unico que cambian son los parámetros de seleccion.

set rs = conn.execute("SELECT nombre FROM tabla WHERE id = 23 AND ciudad = 4")
set rs = conn.execute("SELECT nombre FROM tabla WHERE id = 21 AND ciudad = 14")
set rs = conn.execute("SELECT nombre FROM tabla WHERE id = 135 AND ciudad = 46")
set rs = conn.execute("SELECT nombre FROM tabla WHERE id = 23 AND ciudad = 58")

Tendriamos que llamar a un recordset cada vez que necesites recuperar los datos. Con command simplemente cambias los parametros

set comm = server.CreateObject("ADODB.Command")
...
comm.commandText = "SELECT nombre FROM tabla WHERE id = ? AND ciudad = ?"

La primera ? es el primer parámetro, y asi sucesivamente

comm.parameters.append comm.createparameter("nombreOpcional1", 3, 1, 4, "33")
comm.parameters.append comm.createparameter("nombreOpcional2", 3, 1, 4, "44")


luego no hacemos mas que ejecutarlo:

comm.execute


¿Queremos usarlo otra vez? Pues solo tenemos que modificar los parametros

comm.parameters.append comm.createparameter("nombreOpcional1", 3, 1, 4, "51")
comm.parameters.append comm.createparameter("nombreOpcional2", 3, 1, 4, "98")

y volver a ejecutarlo

comm.execute

Los parámetros del método CreateParameter puedes verlos aqui. Basicamente son casi todos opcionales pero muy utiles para evitar sql injection y cosas indeseables:
Set parameterobject = commandobject.CreateParameter (Name, Type, Direction, Size, Value)

Name

Es opcional. Simplemente es para darle un nombre al parámetro.

Type

Opcional.Es el tipo de dato (integer, string, etc) que debe ser pasado. Por defecto es 0 (empty)

Direction

Opcional. Define la direccion del parámetro (si es de entrada o de salida). En nuestro ejemplo es de entrada ya que lo que definimos son los parámetros de la condición. Por defecto es 1 (entrada)

Size

Opcional. Tamaño del dato. Por ejemplo, si es Long y quieres definir su tamaño a 12. Por defecto es 0.

Value

El Valor del parametro.


El objeto y sus propiedades y métodos (en inglés)

http://www.w3schools.com/ado/ado_ref_command.asp

http://www.devguru.com/technologies/ado/8516.asp



Un saludo


--------

NOTA: Esto me pasa por explayarme :P
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #6 (permalink)  
Antiguo 21/08/2007, 08:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: expliquenme esta linea

Cita:
Iniciado por verinchi Ver Mensaje
Hola Myakire!
jaja! yo puse un solo link :( y vos opacaste mi respuesta poniendo todo un listado...
jajajaja! como siempre, nuestro amigo Myakire tiene toda la buena info actualizada, es un gusto estar de nuevo por aquí! Espero ser de ayuda.
Hola verinchi, que gusto verte de nuevo (aunque también yo me ausento con cierta frecuencia )

Perdón, en un principio quise solamente colocar la primer linea, pero me entretuve copiando y pegando ligas

Aunque seguro en lo que nosotros haciamos todo eso, tammander estaba ocupado escribiendo su ensayo sobre el método CreateParameter y su utilización , él si que ha robado escenario

Bueno, que no digan que en el foro no se llega de lo sencillo a lo complejo
  #7 (permalink)  
Antiguo 21/08/2007, 08:13
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: expliquenme esta linea

jajaja! si, en verdad está muy bien explicado!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #8 (permalink)  
Antiguo 21/08/2007, 08:20
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: expliquenme esta linea

Es que tengo alma de docente
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:58.