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

ayuda con error muy urgente -gracias -

Estas en el tema de ayuda con error muy urgente -gracias - en el foro de ASP Clásico en Foros del Web. este es el error que me da : Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos ...
  #1 (permalink)  
Antiguo 26/04/2005, 19:30
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
ayuda con error muy urgente -gracias -

este es el error que me da :

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.

/busines/directory/addsub.asp, line 32

este es el codigo :

%
if Session("Admin") = False or IsNull (Session("Admin")) = True then
Response.Redirect("login.asp")
end if
%>
<%
Dim Conn ' Open Database Connection
Dim RS ' Open Record Set
Dim SQL ' SQL statement
Dim DSN ' DSN Less Connection

DSN = "DBQ=" & Server.Mappath("category.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set RS = Server.CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DSN
if Request.Form("Add") = "Add" Then
SQLValid = "SELECT subcatName from subcategory "
set RSValid=server.createobject("ADODB.Recordset")
RSValid.open SQLValid,Conn,3,1
if Request.Form("subcatName") = "" Then
Response.Redirect("error.asp?Error=Please enter the sub category name")
End if
if RSValid.recordcount > 0 Then
Response.Redirect("error.asp?Error=That Subcategory already existed")
End if
subcatName = Request.Form("subcatName")
catID = Request.Form("catID")
subcatDesc = Request.Form("subcatDesc")
SQLAdd = "INSERT INTO subcategory(catID,subcatName,subcatDesc)Values('"
SQLAdd = SQLAdd &catID&"','"&subcatName&"','"&subcatDesc&"')"
linea32 Conn.Execute(SQLAdd)
Response.Redirect("done.asp?Msg=Record has been added to database")
Else
SQL = "SELECT * FROM category order by catName"
RS.Open SQL, Conn
%>

Les cuento este codigo no es mio es de un directorio que si quieren despues se los paso el tema es que no funciona las subcategorias de las categorias me da el error de arriba , yo supongo que puede ser esta linea
catID = Request.Form("catID") por que el cat id lo recoje del formulario pero yo jamas se lo paso por el formulario , por ahi me equivoco, agradecere ayuda y le paso el codigo a quien le interese -

muchas gracias
  #2 (permalink)  
Antiguo 26/04/2005, 19:31
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Y cual es la línea 32?

Saludos mi amigo!!!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 26/04/2005, 19:45
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
Conn.Execute(SQLAdd)

linea 32

saludos hermano

aca te dejo el link desde donde se puede descargar el codigo el tema es que no me andan las subcategorias si puedes hecharles un vistaso agradecido


http://www.Planet-Source-Code.com/vb...=7745&lngWId=4


cualquier cosa enviame a [email protected]

un gran abrazo hermano y espero que todo este bien un beso a tu hijo
  #4 (permalink)  
Antiguo 26/04/2005, 19:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Qué tipo de dato tiene el campo catID en tu base de datos? para mi que es un numérico y le estás tratando de pasar un string, trata quitando las comillas simples donde le pasas el valor:

Código:
SQLAdd = "INSERT INTO subcategory(catID,subcatName,subcatDesc)Values("
SQLAdd = SQLAdd & catID &",'"&subcatName&"','"&subcatDesc&"')"
Gracias, todo bien, ya te comento después como está la historia
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 27/04/2005, 05:50
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
lo hice ugoldman pero me sale este error

Objeto Request error 'ASP 0102 : 80004005'

Esperando la entrada de una cadena

/negocio/directory/addsub.asp, line 28 ---- catID = Request.Form(catID)


La función espera una cadena como entrada.
  #6 (permalink)  
Antiguo 27/04/2005, 05:51
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
cualquier cosa ahi deje el link si alguien lo baja y lo prueba y encuentra el error les pido por favor me indique donde esta -
  #7 (permalink)  
Antiguo 27/04/2005, 10:04
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
Alguien Bajo El Codigo ? Lo Pudieron Ver ? Si Alguien Encontro La Solucion ?ruego Me La Pasen Gracias
  #8 (permalink)  
Antiguo 27/04/2005, 10:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
catID = Request.Form(catID)

Le sacaste las comillas a esta expresión?
Esto debería quedar así:

catID = Request.Form("catID")

Y luego en el INSERT deberías sacarle las comillas simples al primer término según yo, si es cierto que ese campo es numérico

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 27/04/2005, 12:41
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
SI ASI ESTA : catID = Request.Form("catID")
PERO DA EL MISMO ERROR -

EL INSERT

SQLAdd = "INSERT INTO subcategory(catID,subcatName,subcatDesc)Values('"
SQLAdd = SQLAdd &catID&"','"&subcatName&"','"&subcatDesc&"')"

SI SACO ESTO :

Values('" SQLAdd = SQLAdd &catID&"','"&subcatName&"','"&subcatDesc&"')"

Y PONGO ESTO

Values("SQLAdd = SQLAdd &catID&",'"&subcatName&"','"&subcatDesc&"')"

ME DA ERROR

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la instrucción INSERT INTO.

/negocio/directory/addsub.asp, line 33
  #10 (permalink)  
Antiguo 27/04/2005, 12:45
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Pues claro, es INSERT, no UPDATE.

Para ver claramente el error, ¿podrías colocar el resultado de las concatenaciones?

Es decir:

SQLAdd = "INSERT INTO .....etc"
response.write SQLAdd
Response.End

Para ver que es lo que esta mal.
  #11 (permalink)  
Antiguo 27/04/2005, 12:48
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
A ver si puedes tambien poner el formulario...se me hace que no estas mandando ese campo catid

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 27/04/2005, 13:17
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
Yo pieso lo mismo que vos por que el formulario no tiene un campo de cat id
el formulario tiene NOMBRE DE LA SUBCATEGORIA - CATEGORIA (ES UN DESPLEGABLE CON EL NOMBRE DE LAS CATEGORIAS ) DESCRIPCION DE LA CATEGORIA , por eso no entiendo el codigo , el codigo de las categorias anda el pelo , pero el de las subcategorias es el que no funciona .

subcatName = Request.Form("subcatName")
catID = Request.Form("catID")

subcatDesc = Request.Form("subcatDesc")
SQLAdd = "INSERT INTO subcategory(catID,subcatName,subcatDesc)Values('"
SQLAdd = SQLAdd &catID&"','"&subcatName&"','"&subcatDesc&"')"

Conn.Execute(SQLAdd)
Response.Redirect("done.asp?Msg=Record has been added to database")
Else
SQL = "SELECT * FROM category order by catName"
RS.Open SQL, Conn
%>
esto :

response.write SQLAdd da como resultado esto

INSERT INTO subcategory(catID,subcatName,subcatDesc)Values('', 'G','G')

G G son los dos campos que pasa el formulario, ahora el tema como hago para pasarle el CatID por que es evidente que por el formulario no lo esta pasando , lo que me extraña es que ponen un codigo hecho que este tan mal . Digamos es reutil el codigo pero es imposible pasar la subcategoria , no se que tocar ya que no quiero destruir el codigo .-

Deberia saber el CatId de la categoria y pasarla pero como ?

gracias amigo
  #13 (permalink)  
Antiguo 27/04/2005, 13:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pon el HTML del formulario, o toma directamente el nombre del select para ponerlo aqui:

catID = Request.Form("nombre_del_select")

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 27/04/2005, 13:39
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Serías más fácil se bajáramos el código para verlo tal vez no pasa ese campo por que es un autoincrement de la tabla y lo asume....................naaaahhh, es más, bájalo tu U_G y me dices, jejeje
  #15 (permalink)  
Antiguo 27/04/2005, 13:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No puedo ponerme a bajar el código en este momento para analizarlo...ando con mucho trabajo, pero por eso pregunté en un principio que tipo de dato tiene ese campo...pues el error original es de un tipo de dato, por lo que yo digo que son 2 cosas: la primera y la segunda y nadie me quita eso de la mente!

Salu!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #16 (permalink)  
Antiguo 27/04/2005, 14:04
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
d><form name="form1" method="post" action="addsub.asp">
<table width="450" border="0" cellpadding="1" cellspacing="0" bgcolor="#CC3300">
<tr>
<td>
<table width="450" border="0" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td class="bodyBold8">&nbsp; </td>
<td>&nbsp; </td>
</tr>
<tr>
<td class="bodyBold8"><div align="right">Sub
category name :</div></td>
<td><input name="subcatName" type="text" id="subcatName">

</td>
</tr>
<tr>
<td width="150" class="bodyBold8">
<div align="right">Category
: </div></td>
<td><select name="subID" id="select" >
<%
do while not RS.eof
response.write "<option value=" & RS(0) & ">" & RS(1) & "</option>"
RS.movenext
loop
%>
</select></td>
</tr>
<tr>
<td width="150" valign="top" class="bodyBold8">
<div align="right">Subcat Description :
</div></td>
<td><textarea name="subcatDesc" rows="6" id="subcatDesc"></textarea></td>
</tr>
<tr>
<td width="150">&nbsp;</td>
<td><input name="Add" type="submit" id="Add" value="Add">
<input type="reset" name="Submit3" value="Reset"></td>
</tr>
<tr>
  #17 (permalink)  
Antiguo 27/04/2005, 14:10
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Bueno, pues el select de categorías se llama subID, por lo tanto

catID = Request.Form("subID")

Y luego fíjate si tienes que quitarle las comillas simples al SQL dependiendo del tipo de dato de ese campo catID

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #18 (permalink)  
Antiguo 27/04/2005, 15:11
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Una pregunta

catID es IDDENTITY, porque si es IDDENTITY entonces no puedes insertarlo directo.
  #19 (permalink)  
Antiguo 27/04/2005, 19:16
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
mmm sigue sin funcionar
  #20 (permalink)  
Antiguo 27/04/2005, 20:41
Avatar de wamoretti  
Fecha de Ingreso: febrero-2002
Ubicación: Lima
Mensajes: 34
Antigüedad: 22 años, 4 meses
Puntos: 0
Quitale el campo CatID, ya que es un autonumerico
SQLAdd = "INSERT INTO subcategory(subcatName, subcatDesc) Values('"
SQLAdd = SQLAdd & "'" & subcatName & "','" & subcatDesc & "')"

Antes de ejecutar el query
Pinta el resultado de la cadena
Response.Write SQLAdd
Response.End

y pruebalo en Consultas

Última edición por wamoretti; 27/04/2005 a las 20:59
  #21 (permalink)  
Antiguo 28/04/2005, 07:37
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
Ugoldman otra vez acertaste

catID = Request.Form("subID")

aca esta la clave yo me equivoque FUNCIONAAAAAAA

GRACIAS MAESTRO COMO SIEMPRE GENIOOOOOOOOOOOOOOO

TOTALLLLLL -

Igualmente a todos los que tiraron ideas Wamoretti , Neuron_376 , Myakire muchas gracias por sus aportes -
  #22 (permalink)  
Antiguo 28/04/2005, 07:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cuidado hugorei, si alentas el ego de U_G en Jueves, es muy posible que no lo veamos hasta el Lunes (si es que no lo "embotellan" 3 dias el Sábado por faltas adminsitrativas )

.......

naaahh, es broma. Que bueno que por fin salió
  #23 (permalink)  
Antiguo 28/04/2005, 09:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Me alegra que por fin haya salido este error, ahora vamos a festejar !!

Salú!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 20:09.