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

problemas al meter sql en asp

Estas en el tema de problemas al meter sql en asp en el foro de ASP Clásico en Foros del Web. Hola buenas, al poner el código que quiero de SQL en ASP, (la verdad es que estoy aprendiendo a meter codigo SQL...), pues me da ...
  #1 (permalink)  
Antiguo 24/11/2005, 10:35
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 20 años
Puntos: 0
Pregunta problemas al meter sql en asp

Hola buenas, al poner el código que quiero de SQL en ASP, (la verdad es que estoy aprendiendo a meter codigo SQL...), pues me da un error, porque en mi tabla tengo varios campos, y pongo lo siguiente:

strsql="INSERT INTO ofertamensaje1 (alumno1) VALUES (numero_azar)"
set rs = Ob_Conn.EXECUTE(strsql)

El problema es que tengo mas atributos en mi tabla, y no quiero insertar ningun valor en ellos, me dice que esperaba más campos...como hago para meterlos en blanco?, he probado intentando meterle blancos del tirón, con comas, pero evidentemente me dice que está mal hecha la sentencia INSERT.

Espero podais ayudarme.

Gracias!
  #2 (permalink)  
Antiguo 24/11/2005, 10:47
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
A menos que en la definición de la tabla, tengas los campos como requeridos, no hay problema que hagas un insert con solo un campo. Supongo que el error puede ser en que numero_azar es una variable, intenta con:

strsql="INSERT INTO ofertamensaje1 (alumno1) VALUES ("& numero_azar &")"
set rs = Ob_Conn.EXECUTE(strsql)

Saludos
  #3 (permalink)  
Antiguo 24/11/2005, 11:02
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 20 años
Puntos: 0
Pregunta otra duda..

Creo que era por lo que decías Myakire, muchas gracias , pero me sigue dando errores, y te quería hacer una pregunta, tan solo con el insert into se inserta datos, o se crea una fila nueva en la tabla y los inserta?. Es que el error que me da es como si no me creara la fila, intentara meter los datos, pero no fuera capaz porque no está creada ninguna fila.

Muchas gracias!
  #4 (permalink)  
Antiguo 24/11/2005, 11:48
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
¿tan solo con el insert into se inserta datos, o se crea una fila nueva en la tabla y los inserta?
Insertar datos es eso, insertarlos, meterlos donde no estaban.

INSERT, crea una fila nueva con los valores que coloques en la propia instrucción

UPDATE, actualiza los valores de cierta fila (o toda la tabla) según se le especifique.

No entiendo lo que intentas decir, mejor copia y pega el error que te marca para ver exactamente que sucede.
  #5 (permalink)  
Antiguo 24/11/2005, 12:00
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 20 años
Puntos: 0
ya está arreglado ;)

Hola de nuevo!, pues lo que preguntaba era justamente lo que me has contestado, supongo que me habré explicado mal, jeje. Y nada con eso ya me lo has aclarado todo, por ahora ya me sale, es que me faltaban unas cosillas y nada ahora me falta depurar el código porque le tengo hecho unos apaños ...jeje.

Muchas gracias !!!!
  #6 (permalink)  
Antiguo 24/11/2005, 22:46
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 22 años, 11 meses
Puntos: 2
Aparte del INSERT y el UPDATE tambien existe el REPLACE (en MySQL, en Access no lo se) que es muy útil, lo que hace es un update de un registro especificado si existe, sino ejecuta un INSERT. La sintáxis es la misma que la de UPDATE e INSERT.

Ya se que esto está medio descolgado aquí, pero a lo mejor a alguien le sirve.
__________________
Sergio
  #7 (permalink)  
Antiguo 25/11/2005, 12:12
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 20 años
Puntos: 0
pensé que estaba arreglado...

Bueno pensé que estaba arreglado, pero no!, jejeje, ahora me ocurre que cuando intento meter en la base de datos un integer, me lo mete correctamente, pero cuando intento meter una variable con el nombre de un alumno, no me lo hace, de hecho es como si no lo cogiera, porque me dice que me faltan parámetros...Supongo que a lo mejor se meten de distinta manera.... , espero me podais ayudar, gracias!
  #8 (permalink)  
Antiguo 25/11/2005, 12:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Los datos de tipo numerico se invocan tal cual en una sentencia SQL, para los textos deberan ir entre comillas simples

var_num = 1
var_txt = "Hola Mundo"

Numericos
strSQL = "INSERT INTO...VALUES(1)"
o bien, concatenando el valor
strSQL = "INSERT INTO...VALUES(" & var_num & ")"

Texto
strSQL = "INSERT INTO...VALUES('Hola Mundo')"
o bien concatenandola
strSQL = "INSERT INTO...VALUES('" & var_txt & "')"


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 25/11/2005, 12:20
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
¿cómo se supone que lo metes?
  #10 (permalink)  
Antiguo 25/11/2005, 12:28
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 20 años
Puntos: 0
ya ta :D

Joe que tonta!, se me había olvidado poner mi trozo de código, de todas maneras ya esta solucionado ;), ya me lo mete bien, en vez de meterlo como ha dicho u_golddman, ('"&alumno&"'), lo metía solo con comillas dobles, también probé con comillas simples, pero claro solo me metía el nombre de la variable, no el contenido.., lo puse solo por si acaso, pero no se me ocurrió lo de combinar las dos .

Por que se ponen distintos? porque son de distintos tipos??


Gracias!!!!
  #11 (permalink)  
Antiguo 25/11/2005, 12:30
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 20 años
Puntos: 0
De acuerdo esto de no leer bien...jeje

Vale, ya me lo respondía u_goldman en su contestación, jeje, no lo había leido entero... pues ya para la próxima lo sé, gracias!!!!
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 11:22.