Foros del Web » Programación para mayores de 30 ;) » .NET »

La ciencia de concatenar en Asp.Net

Estas en el tema de La ciencia de concatenar en Asp.Net en el foro de .NET en Foros del Web. Hola, a alguien le puede resultar demasiado tonto esto, y no me sorprende que así lo sea, porque para mi también lo es, pero no ...
  #1 (permalink)  
Antiguo 14/06/2005, 17:33
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 10 meses
Puntos: 9
La ciencia de concatenar en Asp.Net

Hola, a alguien le puede resultar demasiado tonto esto, y no me sorprende que así lo sea, porque para mi también lo es, pero no encuentro la forma. Resulta que recojo una variable que viene por la URL y luego la tomo para ejecutar una simple consulta a la base de datos, pero si uso el simbolo "&" me dice "Se esperaba un fin de instrucción" y si lo trato de concatenar con el simbolo "+" me dice "La cadena de entrada no tiene el formato correcto", como hago?? que yo sepa para concatenar existen esas dos formas, salvo que Asp.Net trabaje de manera distinta, y si es así, no se como lo hace. Espero que alguien pueda ayudarme.
Les dejo el código:

Dim IdShop As Integer = Request.QueryString("Id")
Dim Msg_Count As Integer

Dim Conexion AS New OleDbConnection("Provider=Microsoft....bla, bla, bla)
Dim Cmmd As OleDbCommand

Conexion.Open()
Cmmd = New OleDbCommand
Msg_Count = Cmmd.ExecuteScalar("SELECT Count(*) FROM Mensajes WHERE IdNegocio = "&IdShop&"", Conexion)

Saludos!.
  #2 (permalink)  
Antiguo 14/06/2005, 17:43
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 20 años
Puntos: 2
simplemente declara IdShop como string, asi:
Dim IdShop As String = Request.QueryString("Id")
eso seria suficiente
o si no
el el lugar donde haces la consulta

Msg_Count = Cmmd.ExecuteScalar("SELECT Count(*) FROM Mensajes WHERE IdNegocio = "&(IdShop).ToString()&"", Conexion)
__________________
0.o Rodri
  #3 (permalink)  
Antiguo 14/06/2005, 17:57
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 20 años, 1 mes
Puntos: 7
Sólo separa la cadena a contatenar "...IdNegocio = " & IdShop & "".

Ten en cuenta que hacer eso es muy peligroso, ya que puedes sufrir ataques SQL Injection...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 14/06/2005, 21:21
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 10 meses
Puntos: 9
Muchas gracias a los dos, funcionaron las dos formas. Con respecto a lo de SQL Injection, yo en ASP tenia una funcion que se encargaba de evitar todo tipo de datos indebidos, ya sea mediante variables que pasan por la URL o mediante formulario. Por eso, si tiene lugar la ejecucion de esa sentencia es porque ya ha pasado esa comprobacion. De todas formas, tengo entendido que esto se podría evitar utilizando parametros, puede ser?, esa es la manera en la que comunmente se trabaja en Asp.Net?.
Un saludo y muchas gracias a ambos nuevamente por su ayuda.
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




La zona horaria es GMT -6. Ahora son las 12:59.