Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 fichas de pedidos
 Foro Bloqueado  Tema Bloqueado


Autor Temas
begoña
Starting Member

España
41 Posts
Mensajes - 22 Nov 2004 :  11:27:19  Ver Perfil  Enviar Email
Hola amigos.
Estoy realizando una web en la que muestro los pedidos de un cliente, esta pagina funciona correctamente.Ahi va el codigo.
'Creamos el objeto conexión

Set conn=Server.CreateObject ("ADODB.Connection")
conn.ConnectionString= "driver=SQL Server;server=SERVIDOR;uid=sa;pwd=;database=nombre"
conn.open()

'La consulta.
SQL = "select * from Pedidos where Pedidos.DocumentoFacturado=0"
SQL = SQL + " and Pedidos.Cliente='"&Session("identificador")&"' order by Fecha"

'el recordset
set rs = Server.CreateObject ("ADODB.Recordset")
rs.ActiveConnection=conn
rs.Source=SQL
rs.open

'Asignamos a "rs" el recordset resultante de la llamada a ejecutar la consulta sql

Set rs=conn.Execute (SQL)%>

<%if rs.eof then%>
<p>Bienvenido <%=Session("nombre")%><br>
<%response.write ("En estos momentos no tiene ningún pedido pendiente")
else
%>
<table align="center" width="100%" height="100%" background="img/fondo4.gif">
<tr>
<td>
<p>PEDIDOS PENDIENTES de <b> <%=Session("nombre")%></b><br><br><br>
<!-- Dibuja la tabla -->
<table border="1" align="center" cellpadding="0" cellspacing="1">
<tr>
<td class="celdaCabecera">Serie</td>
<td class="celdaCabecera">Nº de documento</td>
<td class="celdaCabecera">Número de cliente</td>
<td class="celdaCabecera">Fecha</td>
<td class="celdaCabecera">Paquetes</td>
<td class="celdaCabecera">Importe</td>
<td class="celdaCabecera">documento facturado</td>
</tr>
<%
Do while not rs.EOF%>
<tr>
<td class="normal" align="center"><%= rs.fields("Serie") %></td>
<td class="normal"><a href="fichapedidos.asp?id=<%= rs.fields("Documento")%>"><%= rs.fields("Documento")%></a></td>
<td class="normal" align="center"><%= rs.fields("Cliente") %></td>
<td class="normal" align="center"><%= rs.fields("Fecha") %></td>
<td class="normal" align="center"><%= rs.fields("Paquetes") %></td>
<td class="normal" align="center"><%= rs.fields("Importe") %></td>
<td class="normal" align="center"><%= rs.fields("DocumentoFacturado") %></td>
</tr>
<%
rs.MoveNext
loop%>
</table>
<%end if
%>
</td>
</tr>
</table>


Así este código muestra una tabla con los campos y registros, aparecerá un enlace en el documento y yo quiero que me aparezca una ficha de ese pedido.

A continuacion el codigo de la pagina de ficha de pedidos.
<%
'Creamos el objeto conexión

Set conn=Server.CreateObject ("ADODB.Connection")
conn.ConnectionString= "driver=SQL Server;server=SERVIDOR;uid=sa;pwd=;database=Metalest"
conn.open()

'Recojo el valor de lo enviado
dato_id=request("Documento")

'Creamos un recordset con todas las filas de la tabla

sql = "select * from Pedidos where Documento=" & dato_id

set rs = Server.CreateObject ("ADODB.Recordset")


set rs=conn.execute (sql)

response.write sql

De momento solo quiero mostrar la consulta pero me da el siguiente error y no sé cual es el fallo. ¿Me podeis ayudar a encontrarlo?

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '='.
/zonaprivada/fichapedidos.asp,

Gracias anticipadas

begoña
Starting Member

España
41 Posts
Posted - 22 Nov 2004 :  18:38:19  Ver perfil  Enviar e-mail
Acabo de encontrar el fallo.

Al pasar de una pagina a otra la variable que contiene la clave principal (la id) yo pensaba que al recogerla tenía que poner la clave principal de mi tabla de la base de datos, pero no es así.
Cuando recojo el dato tengo qeu poner como variable la que yo he llamado id, aunque se corresponda con el campo documento de mi tabla clientes.
De esta forma en la página ficha cliente, he de colocar lo siguiente.

dato_id=request ("id")

Espero que os sirva.


Inicio Pagina

m0ra0
Starting Member


24 Posts
Posted - 25 Nov 2004 :  22:26:11  Ver perfil  Enviar e-mail
en esta linea tienes que ponerlo correctamente

sql = "select * from Pedidos where Documento=" & dato_id

lo cual quedaria :
sql = "select * from Pedidos where Documento = '"&dato_id&"' ;"

de esta forma solucionarias el error que tu describes.

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar