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

error en el insert.

Estas en el tema de error en el insert. en el foro de ASP Clásico en Foros del Web. Tengo un insert: INSERT INTO Auctions (size) VALUES (SQLVal(iSize/10000)) Pero me da este error Tipo de error: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) ...
  #1 (permalink)  
Antiguo 11/03/2003, 15:53
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 23 años, 3 meses
Puntos: 11
error en el insert.

Tengo un insert:
INSERT INTO Auctions (size) VALUES (SQLVal(iSize/10000))

Pero me da este error
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[TCX][MyODBC]Column count doesn't match value count at row 1


al escribir la consulta me manda
INSERT INTO Auctions (size)values(0,0004)

me dicen que es por ke MySQL interpreta el 0,0004 como dos valores y entonces no le calzan los campos, que cambie la coma por un punto, asi
sSQL = sSQL & replace(SQLVal(iSize/1),",",".")

lo hice y efectivamente me cambia la coma por un punto, pero me manda el mismo error
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[TCX][MyODBC]Column count doesn't match value count at row 1

pero al escribir la consulta me manda:
INSERT INTO Auctions (size)values('0.0004')

entonces el l[ogico que no me la acepte pues el numero va como si fuera texto,
Como cambio ese valor a numerico?
para que quede como
INSERT INTO Auctions (size)values(0.0004)

Sin las ' ' en el numero????????

gracias

Última edición por rashid; 11/03/2003 a las 15:56
  #2 (permalink)  
Antiguo 11/03/2003, 16:30
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 23 años, 3 meses
Puntos: 5
Aqui te va un truco...

INSERT INTO Auctions (size)values('0.0004' * 1)

Asi es...

MySQL "Auto-convierte" los tipos cuando realiza operaciones, mas no así cuando se trata de llenar campos. Por lo tanto, al realizar la operación, el resultado se vuelve un numero, y ese es el que se inserta!!! violá!

Saludos
__________________
Manoloweb
  #3 (permalink)  
Antiguo 11/03/2003, 16:58
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 23 años, 3 meses
Puntos: 11
ta bueno manolo el truco, pero esta cosa tampoco corre asi!

Mira como quedo:
INSERT INTO Auctions (size) VALUES (replace(SQLVal(iSize)/1000,",","."))

y el response me da
INSERT INTO Auctions (size) VALUES (0.0044)

pero aun me responde:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[TCX][MyODBC]Column count doesn't match value count at row 1



Qué pasa???????

Nota, he resumido un poco, todo el SQL es grande, pero cuando quito del insert el size, me corre bien, y cuando lo pongo me da error, asi es asumo que es por el size.
  #4 (permalink)  
Antiguo 11/03/2003, 17:01
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 23 años, 3 meses
Puntos: 5
Sabes que creo???

Creo que size es una palabra reservada de MySQL...

Por que no le cambias el nombre a size1? a ver si es eso...
__________________
Manoloweb
  #5 (permalink)  
Antiguo 11/03/2003, 17:06
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 23 años, 3 meses
Puntos: 11
Gracias Manolo y otros.

El problema era de concatenacion, como les dije, era un insert larguisimo, cuando lo corte encontre el error, faltaba un &.

Gracias!
  #6 (permalink)  
Antiguo 11/03/2003, 17:41
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 23 años, 3 meses
Puntos: 5
__________________
Manoloweb
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 15:31.