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

crear campos en bases de datos desde asp

Estas en el tema de crear campos en bases de datos desde asp en el foro de ASP Clásico en Foros del Web. Bueno, creo que el titulo lo dice todo, ¿hay alguna forma de crear, mediante código ASP, nuevos campos para tablas ya existentes en bases de ...
  #1 (permalink)  
Antiguo 20/11/2003, 21:50
Avatar de edu007ar  
Fecha de Ingreso: septiembre-2003
Ubicación: Buenos Aires
Mensajes: 118
Antigüedad: 21 años, 7 meses
Puntos: 0
crear campos en bases de datos desde asp

Bueno, creo que el titulo lo dice todo, ¿hay alguna forma de crear, mediante código ASP, nuevos campos para tablas ya existentes en bases de datos access?

Sé que está la forma de crear nuevas tablas pero no encontré por ningun lado la forma de crear nuevos campos.

Gracias.
  #2 (permalink)  
Antiguo 21/11/2003, 00:44
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Si puedes...

suponiendo que ya tenemos una conexión activa llamada ObjConn:

ObjConn.execute("ALTER TABLE mi_tabla ADD COLUMN nombre text(100)")

Con esto crearías un campo nombre de tipo texto de tamaño 100, en la tabla llamada "mi_tabla"

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 21/11/2003, 06:51
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 22 años, 1 mes
Puntos: 9
oye..y si quiero hacerlo de forma dinámica..., es decir, mediante un form... qué habría que cambiar el la sentencia SQL
__________________
Buena Vida...
Francisco
  #4 (permalink)  
Antiguo 21/11/2003, 11:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Suponiendo un form que tenga "nombreTabla", "nombreCampo", "tipoCampo", "largoCampo", yo haría lo siguiente:

tabla = Request.Form("nombreTabla")
campo = Request.Form("nombreCampo")
tipo = Request.Form("tipoCampo")
largo = Request.Form("largoCampo")

ObjConn.execute("ALTER TABLE " & tabla & " ADD COLUMN " & campo & " " & tipo &"(" & largo & ")")
  #5 (permalink)  
Antiguo 21/11/2003, 11:16
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Y como dato, los únicos que reciben tamaño de campo son los campos de texto...


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 21/11/2003, 22:29
Avatar de edu007ar  
Fecha de Ingreso: septiembre-2003
Ubicación: Buenos Aires
Mensajes: 118
Antigüedad: 21 años, 7 meses
Puntos: 0
Buenisimo... agradezco las ayudas!!!!!
__________________
www.proavanz.com.ar
  #7 (permalink)  
Antiguo 23/11/2003, 22:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
Mensaje Original por u_goldman
Y como dato, los únicos que reciben tamaño de campo son los campos de texto...


Salu2,
Ta claro que las validaciones viene después (o antes mediante javascript)... pero los numéricos no?

nunca lo hice desde un comando... pero no existen los byte, entero, entero largo, simple, doble... ? para una campo numérico?
  #8 (permalink)  
Antiguo 24/11/2003, 01:58
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Cita:
Ta claro que las validaciones viene después (o antes mediante javascript)... pero los numéricos no?
nunca lo hice desde un comando... pero no existen los byte, entero, entero largo, simple, doble... ? para una campo numérico?
Si, existen:

http://www.asptutor.com/sql/sql6.asp#6

Pero por ejemplo, un byte, recibe un valor entero entre 0 y 255, esos son los tamaños mínimo y máximo que puede tomar, en cuyo caso no sería necesario especificar el tamaño de dicho campo:

ObjConn.Execute("ALTER TABLE mi_tabla ADD COLUMN campo_nuevo byte")

O un booleano

ObjConn.Execute("ALTER TABLE mi_tabla ADD COLUMN campo_nuevo bit")

Y para todos los numéricos es lo mismo hasta donde lo he hecho, ahora, hablando de strings, en access el de tipo texto recibe hasta 255 caracteres, me parece, pero tu puedes decirle que solo quieres almacenar 30 caracteres, por diseño de la DB conviene pues estás calculando el peso que pudiera tener el añadir ese campo en un momento dado, que no es lo mismo un campo de 30 caracteres, a uno de 255 donde solo almacenarías 30, pero a la postre, reserva el tamaño máximo y tiene ese peso...

ObjConn.Execute("ALTER TABLE mi_tabla ADD COLUMN campo_nuevo text(30)")

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 24/11/2003, 10:34
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
okas, es que en realidad los "largos" de los campos numéricos no son atributos del tipo de campo sino que en realidad serían tipos de campo independientes. Ya lo capté (a mi manera =)
__________________
...___...
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:38.