Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2003
Markoz Markoz is offline
Miembro
 
Registrado: jun 2003
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 28
Poder: 0
Markoz Va por buen camino
ERROR. alguien que me ayude

CREATE PROCEDURE SELTMPVENTA
RETURNS (
ART VARCHAR (80),
PV NUMERIC (15, 2),
CLI VARCHAR (50),
FEC DATE,
CF VARCHAR (2),
FOL INTEGER,
MV VARCHAR (50),
SUBT NUMERIC (15, 2),
DES NUMERIC (15, 2),
VT NUMERIC (15, 2),
ABO NUMERIC (15, 2),
ANT NUMERIC (15, 2),
PLA NUMERIC (2, 1),
FIN NUMERIC (2, 1),
CANTIDAD INTEGER,
COD VARCHAR (6),
TNETO NUMERIC (15, 2),
TOD NUMERIC (15, 2),
TC NUMERIC (15, 2))
AS
BEGIN
FOR SELECT * FROM TMPVENTAS
INTO :ART, :PV, :CLI, :FEC, :CF, :FOL, :MV,:SUBT, ES, :VT, :ABO, :ANT,
:PLA, :FIN, :CANTIDAD, :COD, :TNETO, :TOD, :TC
DO
SUSPEND;
END



me marca el sigiente error -
frmCompile.q_COMPILE:
count of column list and variable list do not match.
Dynamic SQL Error.
SQL error code = -313.
count of column list and variable list do not match.


alguien tiene idea???

gracias
__________________
In Code I Trust
www.geekmx.com
http://markitoz/blogspot.com
Responder Con Cita
  #2  
Antiguo 13-09-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 23
kinobi Va por buen camino
Hola,

Cita:
Posteado originalmente por Markoz
... count of column list and variable list do not match.

alguien tiene idea???
Sí, utilizar el nombre de las columnas y no el asterisco (*) en la consulta que haces dentro del procedimiento ...

Código:
  FOR  SELECT * FROM TMPVENTAS ...
Saludos.
Responder Con Cita
  #3  
Antiguo 16-09-2003
Avatar de champy
champy champy is offline
Miembro
 
Registrado: sep 2003
Ubicación: Alicante, España
Posts: 75
Poder: 21
champy Va por buen camino
Thumbs up

Tienes toda la razón Kinobi, pero permiteme que matize un poco la respuesta ya que el ¿PORQUE? le vendra bien si le ocurre en otra ocasion...

Veras, lo que está sucediendo es que con el * estás sacando todos los registros de la tabla ¿Que ocurre con esto? que mayor (o menor) el numero de campos que estan saliendo de * que el numero de variables en dondese almacenan con INTO... un Ejemplo...


Esto es lo correcto
Select CAMPO1, CAMPO2, CAMPO3 into :v1, :v2, v3;


Esto es lo que sin querer te está sucediendo
Select CAMPO1, CAMPO2, CAMPO3, CAMPO4 into :v1, :v2, :v3;

Un saludo y sigamos todos aprendiendo...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:20:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi