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

Pregunta dificil

Estas en el tema de Pregunta dificil en el foro de ASP Clásico en Foros del Web. Hola, al grano, tengo una tabla visitas con un campo clave ajena DNI y otro campo fecha, a la página asp donde tengo el problema ...
  #1 (permalink)  
Antiguo 07/05/2002, 03:44
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Pregunta dificil

Hola, al grano, tengo una tabla visitas con un campo clave ajena DNI y otro campo fecha, a la página asp donde tengo el problema le mando ambos campos a través de un formulario, pero no se muy bien como debe hacerse la consulta, ya que yo estoy acostumbrado a consultas sencillas. alguien puede decirme como se haría la consulta, yo la hago asi:
Código:
strsql = "select * from visitas where dni= "'"& request.form("comercial") &"'" and fecha="'"&request.form("fecha") "
set miconexion = conexion.execute(strsql)
Si os ayuda a ayudarme :) request.form("comercial") coincide con el dni, el error no está solo en la fecha...
Gracias de antemano.
  #2 (permalink)  
Antiguo 07/05/2002, 05:19
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Pregunta dificil

Veo un error si tienes declarado el campo dni como numerico, si lo tienes como numerico debes quitarle la comilla simple ,porque si pones comilla simple se cree que insertas texto y al declararlo como numerico pos da error, igual con la fecha


strsql = "select * from visitas where dni= "& request.form("comercial") &" and fecha=" & request.form("fecha") &""
set miconexion = conexion.execute(strsql)

Una curiosidad ¿a que tipo de consultas estas acostumbrados?


Un saludos
  #3 (permalink)  
Antiguo 07/05/2002, 05:36
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: Pregunta dificil

Con tu codigo tampoco funciona, Dni es de tipo texto, y fecha de tipo fecha. Mira ver si me puedes ayudar.
Te resuelvo la curiosidad :) Aprendí sql primero con access y después pl sql para oracle. El problema es que, ademas de que ciertamente lo tengo bastante oxidao, en asp utilizando formularios y por cuestiones de sintaxis, es distinto, entonces me lia bastante, bueno mas bien mucho.

pd.- intentando hacerlo solo con dni tampoco funciona, osea que el error no es sólo en la fecha :-p
  #4 (permalink)  
Antiguo 07/05/2002, 09:58
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Pregunta dificil

strsql = "select * from visitas where dni= "'"& request.form("comercial") &"'" and fecha="'"&Cdate(request.form("f echa")&"'"


strsql = "select * from visitas where dni= "'"& request.form("comercial") &"'" and fecha="#"&Cdate(request.form("f echa")&"#"

Prueba y nos avisas

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #5 (permalink)  
Antiguo 09/05/2002, 02:43
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: Pregunta dificil

Me parece que si funicona, te lo digo fijo.
Gracias.
  #6 (permalink)  
Antiguo 09/05/2002, 02:55
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: Pregunta dificil

sige dando error, mirar el codigo:
Código:
&lt;body&gt;
&lt;%
dim comercial, fechaini, fechafin
comercial= &quot;'&quot; &amp; request.form(&quot;comercial&quot;) &amp; &quot;'&quot;
fechaini= &quot;#&quot; &amp; Cdate(request.form(&quot;fechaini&quot;)) &amp; &quot;#&quot;
fechafin= &quot;#&quot; &amp; Cdate(request.form(&quot;fechafin&quot;)) &amp; &quot;#&quot;

set conexion = createobject(&quot;ADODB.connection&quot;)
conexion.open &quot;PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\inetpub\wwwroot\itresa.mdb&quot;
strsql = &quot;select * from visitas where dni = &quot; &amp;comercial&amp; &quot; and fecha &gt;=&quot; &amp;fechaini&amp; &quot;and fecha &lt;=&quot; &amp;fechafin  
set miconexion = conexion.execute(strsql)

if err.description &lt;&gt; &quot;&quot; then
response.write &quot; &lt;B&gt; error base de datos: &quot; &amp; Err.Description &amp; &quot;&lt;/B&gt;&quot;
else
response.write miconexion
end if

miconexion.close
conexion.close
set miconexion = nothing
set conexion= nothing
%&gt;
&lt;/body&gt;
Veis algo mal?¿?
  #7 (permalink)  
Antiguo 09/05/2002, 03:40
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: Pregunta dificil

ya encontré el error, falta el bucle para que devuelva los registros de miconexion, quedaría asi:
Código:
 if err.description &lt;&gt; &quot;&quot; then
response.write &quot; &lt;B&gt; error base de datos: &quot; &amp; Err.Description &amp; &quot;&lt;/B&gt;&quot;
else%&gt;
&lt;table border=1 &lt;tr&gt;&lt;th&gt;dni&lt;/th&gt;&lt;th&gt;fecha&lt;/th&gt;&lt;/tr&gt;
  &lt;%Do while not miconexion.eof%&gt;
  &lt;tr&gt;&lt;td align=&quot;center&quot;&gt;
  &lt;% =miconexion(&quot;dni&quot;)%&gt;
  &lt;/td&gt;&lt;td align=&quot;center&quot;&gt;
  &lt;% =miconexion(&quot;fecha&quot;)%&gt;
  &lt;/td&gt;&lt;/tr&gt;
  &lt;% miconexion.movenext
  loop%&gt; 
&lt;/table&gt;
Pero ahora tengo otra duda. es valido esto en asp.

if fechaini=null
  #8 (permalink)  
Antiguo 09/05/2002, 04:41
XaRoD
Invitado
 
Mensajes: n/a
Puntos:
Re: Pregunta dificil

la sintaxis es isNull(variable):

If isNull(variable) Then
'nula
End If
  #9 (permalink)  
Antiguo 09/05/2002, 05:04
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: Pregunta dificil

pero la pregunta buena es, si tú en un campo de un formulario no escribes nada que estas pasando NULL o &quot;&quot;...
  #10 (permalink)  
Antiguo 09/05/2002, 11:37
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Re: Pregunta dificil

Yo pregunto así:

if fechaini = &quot;&quot; then
response.write &quot;fechaini es nula&quot;
else
response.write &quot;fechaini NO es nula&quot;
end if
  #11 (permalink)  
Antiguo 09/05/2002, 13:07
 
Fecha de Ingreso: enero-2002
Mensajes: 48
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: Pregunta dificil

Si requieres que el campo de un formulario lleve algun valor, validalo en la pagina donde se encuentra el formulario con un script (javascript o Vbscript). Antes de darle submit al formulario verifica que los campos tienen un valor diferente de &quot;&quot;.

Espero que te ayude...

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 17:29.