El problema lo tengo cuando pongo Now() porque si lo quito si que me inserta bien el otro campo US_FECNAC
Gracias de todas formas.
| ||||
Cita: No me funciona me vuelve a dar el error de antes:
Iniciado por moNTeZIon Así: INSERT INTO usuarios (US_FECNAC, FECHA_ALTA) VALUES ("#" & fecha_nac & "#, #" & Now() & "#") [Microsoft][ODBC SQL Server Driver][SQL Server]El nombre '#20' no es válido en este contexto. Sólo se permiten constantes, expresiones o variables. No se permiten nombres de columna. Bueno creo que al final voy a dejar la insercion de usuarios con un recordset ya que estoy perdiendo mucho tiempo. Ya utilizare los inserts en otras paginas. Gracias por vuestra ayuda ![]()
__________________ Silvia - Castellón :arriba: |
| ||||
Un caso en el que es necesario hacer el recordset en lugar de el Execute: Cuando has de hacer una inserción en una tabla donde el id es autonumerico e inmediatamente has de realizar una insercion en otra tabla con el id del insert anterior. Ejemplo:
Código:
(Suponemos que en tabla2 la clave primaria es tb autonumerica y obviamente no hace falta insertarla)dim claveUno rs.open ("select idTabla, campo1 from tabla1", conexion) rs.Addnew rs("campo1") = Request("nombre") claveUno= rs("idTabla") rs.Update rs.Close (Y aki ya se puede hacer un execute o otro recordset) conexion.execute("Insert into tabla2 (idTabla1,campoX) values("& claveUno &",'"& Request("direccion") &"');") Como véis en el recorset a la vez q insertamos pillamos el que será su ID, y así lo podemos utilizar en la siguiente tabla como clave externa. Un saludo!
__________________ "No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa. No podran res davant un poble unit, alegre i combatiu!!" |
| ||||
Vamos a ver... Silvia1977.. Por qué en el error te sale esto: '#20' La variable que estás metiendo es más larga no? consta de dia, mes y año.. digo yo. Intenta mostrar por pantalla ese valor a ver qué estás metiendo exactamente en la BD. Una vez te cerciores que la aplicación va bien, sólo te tienes que preocupar de formatear correctamente esa fecha (Investiga la funcion FormatDateTime) para que sea aceptada por la BD. Espero que tengas suerte. Esto ya está tardando.. ![]()
__________________ ..:: moNTeZIon ::.. |
| ||||
Validacion Esto va mas alla de las puras comillas, debes tener una funcion que se encargue de quitar todos los caracteres que no quieres que sea capaz de pasar, por ejemplo, tu decides desde el principio que caracteres son validos para el usuario t contraseña, como A-Z a-z 0-9 y los caracteres especiales _, entonces en las cadenas que lees te fijas que no haya ningun otro caracter, y si existe marcas el error. Tambien si tu preocupacion es por parte del SQL cuando consultas, pues bien, debes tener otra funcion de validacion donde haces algo como: Sql = SqlConsultaLimpia("select * from tabla1 where user = '" & user & "' and clave = '" & clave & "') rs = conn.execute(Sql) Entonces esa funcion se encarga siempre de revisar que todo es correcto para pasarlo a la base de datos. Suerte!! |
| ||||
Al final he dejado mi insercion de usuarios con un INSERT y el problema de la fecha que tenia me daba porque yo insertaba en la tabla de usuarios la fecha en la que se da de alta el usuario y lo hacia asi: INSERT INTO usuarios (FECHA_ALTA) VALUES ('20/04/2005 12:43:52 p.m.') donde esto 20/04/2005 12:43:52 p.m. es lo que devuelve la funcion Now. Como asi me daba error por cual del espacio que hay entre la fecha y la hora, ahora inserto la fecha de alta asi: alta = FormatDateTime(Now(), 2) donde la variable alta me devuelve solo la fecha 20/04/2005 sin la hora entonces ahora ya no me da error: INSERT INTO usuarios (FECHA_ALTA) VALUES ('" & alta & "') Pero, y si quisiera tambien insertar la hora?? como se haria? Respecto a evaluar lo que introducen los usuarios, lo unico que hago es esto: nombre = trim(Request.Form( "fnombre" )) nombre = replace(nombre,"'","") nombre = replace(nombre,"""","") con todos los campos del formulario porque creo que la ' y la " son los unicos caracteres que me pueden dar error al hacer un INSERT. Alguien sabe algun caracter más que deberia tratar para que no me falle el INSERT?? Gracias
__________________ Silvia - Castellón :arriba: |
| ||||
Cita: El campo fecha_alta lo tengo declarado como datetime de 8
Iniciado por Neuron_376 Entonces el problema que tenias es que tu campo en la base de datos es tipo DATE solamente, y deberia haber sido DATETIME, porque realmente creo que vas a necesitar tambien la hora. Pruebalo, y nos dices que paso. Saludos ![]()
__________________ Silvia - Castellón :arriba: |
| ||||
Ayudame porfo Cita:
Iniciado por moNTeZIon Parece que el problema se ha resuelto. Para formatear los valores para campos hora... Sigue investigando la función FormatDateTime... ![]() Estuve investigando de como poner tambien la hora pero me da error. Mira yo inserto asi: fecha = FormatDateTime(Now(),2) hora = FormatDateTime(Now(),3) fecha_incluido = fecha&" "&hora gr="INSERT INTO grupoamigos (gr_usu_id, gr_usu_id_amigo, gr_activo, gr_mismo_dia, gr_un_dia, gr_una_semana, gr_activo_mail, gr_aviso_movil, new, incluido ) VALUES (250,300, '" & 1 & "', '" & 1 & "', '" & 0 & "', '" & 0 & "', '" & 1 & "', '" & 0 & "', 1, '"& fecha_incluido &"')" Set rs = conexionBD.Execute(gr) pero me dice el error: [Microsoft][ODBC SQL Server Driver][SQL Server]Error de sintaxis al convertir una cadena de caracteres a datetime. Ya no se que hacer, porque si pongo directamente Now() tambien me dice ese error Me podrias ayudar? ![]() Gracias ![]()
__________________ Silvia - Castellón :arriba: |
| ||||
No me funciona Cita: Me dice el mismo error:
Iniciado por 3pies Prueba a ver si te funciona así: fecha_incluido = fecha&" "&hora fecha_incluido= CDate(fecha_incluido) INSERT INTO grupoamigos (gr_usu_id, gr_usu_id_amigo, gr_activo, gr_mismo_dia, gr_un_dia, gr_una_semana, gr_activo_mail, gr_aviso_movil, new, incluido ) VALUES (40011, 20523, '1', '1', '0', '0', '1', '0', 1, '28/04/2005 11:39:18 a.m.') Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Error de sintaxis al convertir una cadena de caracteres a datetime. No se que hacer ya!
__________________ Silvia - Castellón :arriba: |
| ||||
En realidad
Código:
Es lo mismo quefecha = FormatDateTime(Now(),2) hora = FormatDateTime(Now(),3) fecha_incluido = fecha&" "&hora response.write fecha_incluido
Código:
Prueba a meter en la BD el Now, directamente. ¿Probaste tb meterlo con el símbolo de la almohadilla delante y detrás?. No se me ocurren más cosas. Quizás los expertos puedan echarte una mano. response.write now |
| ||||
Me dice lo mismo con las # Yo hago: gr="INSERT INTO grupoamigos (gr_usu_id, gr_usu_id_amigo, gr_activo, gr_mismo_dia, gr_un_dia, gr_una_semana, gr_activo_mail, gr_aviso_movil, new, incluido ) VALUES (40011, 20523, '" & 1 & "', '" & 1 & "', '" & 0 & "', '" & 0 & "', '" & 1 & "', '" & 0 & "', 1, '#"&Now()&"#')" Set rs = conexionBD.Execute(gr) Y me dice por pantalla: INSERT INTO grupoamigos (gr_usu_id, gr_usu_id_amigo, gr_activo, gr_mismo_dia, gr_un_dia, gr_una_semana, gr_activo_mail, gr_aviso_movil, new, incluido ) VALUES (40011, 20523, '1', '1', '0', '0', '1', '0', 1, '#28/04/2005 12:05:03 p.m.#') Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Error de sintaxis al convertir una cadena de caracteres a datetime. A ver si alguien me puede ayudar... por favor expertos! Gracias
__________________ Silvia - Castellón :arriba: |
| ||||
Ya no se si la cosa es que alguien pueda ayudar o alguien pueda hacer el trabajo. Digo, tantos mensajes para un error de sintaxis en una sentencia. Simplemenete hay que probar las sentencias en el mismo gestor de BD (y ver en la ayuda del programa) antes de meterlas al ASP, ahí de van depurando. |
| ||||
Cita: Perdona pero se supone que me he dado de alta en este foro para escribir cuando ya lo he probado todo y no me funciona, se supone que escribes aqui cuando estas desesperado, porque sino no perderia el tiempo ya que estoy trabajando y tengo bastante faena.
Iniciado por Myakire Ya no se si la cosa es que alguien pueda ayudar o alguien pueda hacer el trabajo. Digo, tantos mensajes para un error de sintaxis en una sentencia. Simplemenete hay que probar las sentencias en el mismo gestor de BD (y ver en la ayuda del programa) antes de meterlas al ASP, ahí de van depurando. Si hay tantos mensajes tambien es porque yo voy insertando mis resultados buenos por si a alguien le puede servir, con lo cual entre todos nos ayudamos. Para tu información ya he solucionado yo solita mi duda. La solucion es hacer un insert en sql server 2000 de Now en vez de Now(), de esta forma: gr="INSERT INTO grupoamigos (gr_usu_id, gr_usu_id_amigo, gr_activo, gr_mismo_dia, gr_un_dia, gr_una_semana, gr_activo_mail, gr_aviso_movil, new, incluido ) VALUES (500, 300, '" & 1 & "', '" & 1 & "', '" & 0 & "', '" & 0 & "', '" & 1 & "', '" & 0 & "', 1, '"&Now&"')" Set rs = conexionBD.Execute(gr) Muchas gracias por tu ayuda ![]()
__________________ Silvia - Castellón :arriba: |
| ||||
Hay, Myakire, Myakire... ¿ves lo que lográs? Que la gente se enoje ![]() Eres malo, malo, malo! ![]() PD: Es una broma, silvia, no te me enojes (más de lo que estás ![]() ![]()
__________________ ...___... |
| ||||
Cita:
Iniciado por u_goldman ![]() Este si fué para aumentar mis posts ![]() ![]() ![]() ![]() (ah, y pa que no se me acuse de lo mismo agrego lo siguiente) Myakire, claro que lo anterior fue también en broma para vos ;)
__________________ ...___... |
| ||||
![]() ![]() En represalia a lo que le hiciste a mi post, pues no solo me lo quitaste sino que lo sumaste a los tuyos, publicaré las fotos que subiste en el foro de colaboradores donde te paseabas desnudo por la casa de CVander totalmente alcoholizado y decapitando unas gallinas, minutos después de que CV accedió a lo del cambio de nick! ![]()
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Noooooooooooooo!!!!! Por favor, no lo hagas. Repito: N-o l-o h-a-g-a-s!!! (que hay menores de edad en éste foro, al menos hacelo por ellos ¿si?) ;)
__________________ ...___... |
| ||||
Solo por mis pequeños amigos que se encuentran merodeando estos lugares, no lo haré ![]() Pre-Salú!
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Cita: aqui ahi una funcion muy buena de nuestro
Iniciado por trasgukabi usuario = Replace(request.form("usuario"), """", "") ![]() Y LES ACLARO NO SOY WOMAN SOY MEN varios en el MSN piensan que soy mina por el avatar pero esa es mi amorcito ![]() so no massss... ![]()
__________________ Usa títulos específicos y con sentido En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema. |
| ||||
Venga no me enfado si me ayudais en esto jijijiji http://www.forosdelweb.com/f15/correo-formato-html-para-cliente-webmail-293164/ venga ayudarmeeeeeeeeeeeee ![]()
__________________ Silvia - Castellón :arriba: |
| ||||
Cita: No Myakire lo que ha pasado que me han contactado como 5 veces por el msn y me dicen eres de FDW? Eres Chica? creo que es por lo del avatar..
Iniciado por Myakire ![]() ![]() ![]() ![]()
__________________ Usa títulos específicos y con sentido En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema. |
| ||||
Cita: Jojojo... a mi me pasaba lo mismo con.. errr.. mi anterior nick, que sonaba muy femenino
Iniciado por dobled No Myakire lo que ha pasado que me han contactado como 5 veces por el msn y me dicen eres de FDW? Eres Chica? creo que es por lo del avatar.. ![]()
__________________ ...___... |