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

Porque no graba este resultado????

Estas en el tema de Porque no graba este resultado???? en el foro de ASP Clásico en Foros del Web. Amigo, tengoe este codigo. a=rs("Cantidad") response.write (a) b=cstr(request.form ("cantidadx")) response.write (b) C=a-b response.write (C) SQL = "update Producto set Cantidad = "& (C) &" Where ...
  #1 (permalink)  
Antiguo 13/02/2003, 06:00
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Porque no graba este resultado????

Amigo, tengoe este codigo.

a=rs("Cantidad")
response.write (a)
b=cstr(request.form ("cantidadx"))
response.write (b)
C=a-b
response.write (C)
SQL = "update Producto set Cantidad = "& (C) &" Where codigo = "& Obj_RS("codigo") & " ;"
response.write (SQL)
Obj_Conn.Execute(SQL)

Ella realiza perfectamente la operación, PERO NO GRABA EL RESULTADO DE DICHA OPERACIO(RESTA) EN EL CAMPO "CANTIDAD", que pasara??????

Miguel
  #2 (permalink)  
Antiguo 13/02/2003, 07:09
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
No entiendo lo que me quieres decir, en la linea 1 recupero lo que tengo en el campo cantidad de la bd y eel otro proviene de un campo de un formulario, donde aplico una resta la cual cuero que se actualize en el campo cantidad de dicha bd, lo que se refiere a la isntruccion sql es que me lo grave en el campo cantidad bajo el mismo codigo que yo mando junto con la cantidad desde el formulario????

Pero si tu crees que no es asi, dime como puedo resolverlo????
Gracias por cotestar y ples ayudame

Miguel
  #3 (permalink)  
Antiguo 13/02/2003, 07:46
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
hERMANO NO ME FUNCIONA, PERO COMO TE DIJE ANTE REALIZA LA OPERACION PERFECTAMENTE, AQUIE TE DEJO LO QUE ARROJA EL CODIGO:

Leí de la base: 779
Ingresé en el form: 4
Resultado: 775
Ejecuto: update Producto set Cantidad = 775 Where codigo = 1 ;

SI VEZ CALCULA BIEN LA RESTA PERO NO ACTULIZA EL CAMPO CANTIDAD DE LA BD, SIEMPRE TOMA EL VALOR QUE SE ENCUENTRA (lei de la base:) y deberia tomar es (Resultado =C)

Sera que me ayudas en esto, por favor????
Miguel
  #4 (permalink)  
Antiguo 13/02/2003, 08:48
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses
Puntos: 1
Hola Miguel

Línea 1) a=rs("Cantidad")
Línea 7) ... & Obj_RS("codigo") & ...

¿Tenés dos objetos conexión, o una de esas líneas es errónea?

Suerte
  #5 (permalink)  
Antiguo 13/02/2003, 09:19
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses
Puntos: 1
Probá así:

a=rs("Cantidad")
response.write ("<BR>Leí de la base: " & a)
b=cstr(request.form ("cantidadx"))
response.write ("<BR>Ingresé en el form: " & b)
C=a-b
response.write ("<BR>Resultado: " & C)
SQL = "update Producto set Cantidad = "& (C) &" Where codigo = "& rs("codigo") & " ;"
response.write ("<BR>Ejecuto: " & SQL)
Obj_Conn.Execute(SQL)

Si no te llega a funcionar, decime que te muestra la página sobre todo en:
Leí de la base: nnn
y en
Ejecuto: xxxxx
  #6 (permalink)  
Antiguo 13/02/2003, 10:05
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Aqui te dejo el codigo completo, a lo mejor te parecera estraño, ya que este codigo realiza dos funciones en una; es deir consulta y modifica a la vez:

<html>

<head>
<meta http-equiv="Content-Language" content="es">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Consulta de una Base de Dato</title>
</head>

<body>

</table>
</head><body bgcolor="#808000">
<div align="center">
<center>
<table border="2" width="50%" bgcolor="#008000">
<tr>
<td width="100%">
<p align="center"><font color="#FFFFFF"><B>RESULTADO DE LA CONSULTA</B></font></td>
</tr>
</table>
</center>
</div>

<%

'AQUI COMPARAMOS EL CODIGO PARA VER SI EXISTE
Codigo=request.form("Codigo")
set rs=createobject("ADODB.Recordset")
sqltxt="select foto,Codigo,Descripcion,Cantidad,Precio from Producto where Codigo like '%"&Codigo&"%'"
rs.open sqltxt,"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\asp\graciela.mdb;"%>

<%
dim pre,cant,pretotal,a,b,C
'AQUI ENTRA LA CANTIDAD QUE SE VA A RESTAR CON LA CANTIDAD DE BD
cantidadx = Request.Form ("cantidadx")
SET Obj_Conn = Server.CreateObject("ADODB.Connection")
Obj_Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\asp\graciela.mdb;"
'Suponiendo que la Tabla se llama PRODUCTO y el campo codigo, comprobamos que producto existe.
strSQL = "select codigo,Cantidad from Producto where codigo = "&codigo&" ; "
SET Obj_RS = Obj_Conn.Execute(strSQL)

a=rs("Cantidad")
response.write ("<BR>Leí de la base: " & a)
b=cstr(request.form ("cantidadx"))
response.write ("<BR>Ingresé en el form: " & b)
C=a-b
response.write ("<BR>Resultado: " & C)
'rs=Cantidad="C"
'rs=update
'SQL = "update Producto set Cantidad = (C) where codigo = "& Obj_RS("codigo") & " ;"
SQL = "update Producto set Cantidad = "& (C) &" Where codigo = "& rs("codigo") & " ;"
'SQL = "update Producto set cantidad=Cantidad-"&cantidadx&" where codigo = "& Obj_RS("codigo") & " ;"
response.write ("<BR>Ejecuto: " & SQL)
Obj_Conn.Execute(SQL)

'cant=cstr(request.form ("cantidadx"))
'response.write (cant)
'pre=rs("Precio")
'response.write (pre)
'pretotal= request.form ("cantidadx") * rs("Precio")
'pretotal= cant * pre

'<%Resultado = CSng(request.form("cantidadx")*Obj_RS("Precio"))%>


<CENTER>
<%if rs.eof then%>

<h3 align="center">
<font color="#FF0000">No hay datos que coincidan con su petición </font></h3>
<%else%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90" alt="70">
<tr>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Cantidad")%></font></td>
<td width="100%"><img src="<%=rs("foto")%>"width="90" alt="70" >"
</td>
<BR>

<table border="0" width="50%">
<tr>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Codigo</font></th>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Descripcion</font></th>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Cantidad</font></th>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Precio</font></th>
</tr>
<%do while not rs.eof%>
<tr>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=FormatNumber((rs("Codigo").Value), 0, -2, -1, -1)%></font></td>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Descripcion")%></font></td>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Cantidad")%></font></td>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Precio")%></font></td>
<%response.write (pretotal)%>
</tr>

<%rs.movenext
loop
rs.close
end if%>
<%
obj_Conn.Close
Set rs = Nothing
Set obj_Conn = Nothing
%>
</table>
</CENTER>
<p>&nbsp;</p>
<p align="center"><a href="fconsultagraciela2.html">Otra vez</a></p>
</body>

Si te fija bien, e intentado varias forma y no me da, solo quiero ver porque no me guarda el resultado de la resta en el campo que quiero????

Miguel
  #7 (permalink)  
Antiguo 13/02/2003, 11:00
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses
Puntos: 1
Habría que inspeccionar más a fondo.

¿Podrías mostrar completo el código, a ver si encontramos el problema?
  #8 (permalink)  
Antiguo 13/02/2003, 13:15
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses
Puntos: 1
A ver Miguel...

Probá con esta forma y decime que resulta...

Código PHP:
<html>
<
head>
<
meta http-equiv="Content-Language" content="es">
<
meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<
meta name="ProgId" content="FrontPage.Editor.Document">
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<
title>Consulta de una Base de Dato</title>
</
head>
<
body bgcolor="#808000">
<
div align="center">
<
center>
<
table border="2" width="50%" bgcolor="#008000">
<
tr>
<
td width="100%">
<
p align="center"><font color="#FFFFFF"><B>RESULTADO DE LA CONSULTA</B></font></td>
</
tr>
</
table>
</
center>
</
div>
<%
  
Option Explicit
  Dim Conn
  Dim Rs
  Dim curDir
  Set Conn 
Server.CreateObject("ADODB.Connection")
  
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\asp\graciela.mdb;" 
  
Set Rs Server.CreateObject("ADODB.Recordset")
  
Set Rs.ActiveConnection Conn
  Rs
.Source "select Cantidad from Producto Where codigo = " Request.Form("Codigo")
  
Rs.Open
  
If Rs.EOF Then
    Response
.write("Código inexistente: " Request.Form("Codigo"))
  Else
    
Conn.Execute "Update Producto set Cantidad = " Rs("Cantidad") - Request.Form("cantidadx") & " where codigo = " Request.Form("Codigo")
    
Rs.Close
 La actualización ya está lista
.

    
Rs.Source "select * from  Producto Where codigo = " Request.Form("Codigo")
    
Rs.Open
%>
<
table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90" alt="70">
<
tr>
<
td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<
font color="#000000"><font Size="5"><%=rs("Cantidad")%></font></td>
<
td width="100%"><img src="<%=rs("foto")%>"width="90" alt="70" >"
</td>
<BR>

<table border="
0" width="50%">
<tr>
<th width="
20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Codigo</font></th>
<
th width="20%" valign="middle" align="center" bgcolor="#008080">
<
font color="#000000">Descripcion</font></th>
<
th width="20%" valign="middle" align="center" bgcolor="#008080">
<
font color="#000000">Cantidad</font></th>
<
th width="20%" valign="middle" align="center" bgcolor="#008080">
<
font color="#000000">Precio</font></th>
</
tr>
<%
    do while 
not Rs.eof
%>
<
tr>
<
td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<
font color="#000000"><font Size="5"><%=FormatNumber((Rs("Codigo").Value), 0, -2, -1, -1)%></font></td>
<
td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<
font color="#000000"><font Size="5"><%=Rs("Descripcion")%></font></td>
<
td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<
font color="#000000"><font Size="5"><%=Rs("Cantidad")%></font></td>
<
td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<
font color="#000000"><font Size="5"><%=Rs("Precio")%></font></td>
<%
response.write (pretotal)%>
</
tr>

<%
      
Rs.movenext
    loop
  end 
if
  
Rs.Close
  Conn
.Close
  Set Rs 
Nothing
  Set Conn 
Nothing
%>
</
table>
</
CENTER>
<
p> </p>
<
p align="center"><a href="fconsultagraciela2.html">Otra vez</a></p>
</
body
Voy a andar por aquí un rato más.

Suerte
  #9 (permalink)  
Antiguo 14/02/2003, 06:07
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Hola daniel del rey, gracias por ese codigo, lo estuve analizando y creo que puede funcionar, pero me da el siguiente error:

Tipo de error:
Error de compilación de Microsoft VBScript (0x800A0400)
Se esperaba una instrucción
/asp/consultamodificagraciela3.asp, línea 21
Option Explicit

Creo que a esta opcion le falta algo,,,,, sera que puede revisarlo


Miguel, desde Venezuela
  #10 (permalink)  
Antiguo 14/02/2003, 06:43
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
daniel!!!!! lo resolvi, solo elimine la line 21 y corre a la 1000 maravillas, gracias

De toda forma si puedes explicarme que hace esa linea te lo agradeceria


Miguel desde Venezuela
  #11 (permalink)  
Antiguo 14/02/2003, 07:19
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses
Puntos: 1
Hola Miguel.

Enhorabuena

Te felicito, sobre todo po´r tu tesón, no abandonste a pesar de las dificultades y finalmente... funcionó, bien por ti!!!

Bueno, esa línea: Option Explicit, realmente me sorprende que no funcionara.

Lo único que hace es indicar que todas las variables uqe vayas a utilizar deben declararse previamente.

Tenía pensadas dos cosas ante este problema, una era justo lo que hiciste, suprimirla y ya.

La otra era que agregaras una línea más, antes de esa:
<%@ LANGUAGE = VBScript %>
<% Option Explicit

Pero ya no importa.

Suerte
  #12 (permalink)  
Antiguo 14/02/2003, 10:29
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
Sobre el error "Se esperaba una instrucción"

Lo que ocurre es que la instrucción Option Explicit debe ir antes de cualquier otra "cosa" (ya sean scripts ASP o HTML estático) aunque si puede estar luego de las instrucciones que llevan arrobas (@CODEPAGE, @ENABLESESSIONSTATE, @LANGUAGE, @LCID, @TRANSACTION)

Ejemplos:

Esto está bien:
<%
Option explicit
Dim a
A = 1
Response.Write A
%>



Esto está mal:

<html>
....
<% Option explicit
Dim a
A = 1
Response.Write A
%>
...
</html>



saludos
  #13 (permalink)  
Antiguo 14/02/2003, 11:40
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses
Puntos: 1
Gracias Diego, muy buena tu explicacion

Lo único que no me quedó muy claro de la misma, fue esa parte que dice:

Cita:
images/logos/sanvalentin2003/logo01.jpg='images/logos/sanvalentin2003/logo01.jpg';
  #14 (permalink)  
Antiguo 14/02/2003, 12:06
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
Dónde Dani?
Yo no veo nada de eso!!!




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 12:46.