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

Rescatar Largo De Variable?????

Estas en el tema de Rescatar Largo De Variable????? en el foro de ASP Clásico en Foros del Web. si para rescatar el nombre hago esto: For Each Campo In Rs.Fields CUANTOS = CUANTOS + 1 NOMBRE_CAMPO(CUANTOS) = Campo.Name response.write NOMBRE_CAMPO(CUANTOS) Next como puedo ...
  #1 (permalink)  
Antiguo 25/11/2004, 03:10
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
Pregunta Rescatar Largo De Variable?????

si para rescatar el nombre hago esto:

For Each Campo In Rs.Fields
CUANTOS = CUANTOS + 1
NOMBRE_CAMPO(CUANTOS) = Campo.Name
response.write NOMBRE_CAMPO(CUANTOS)
Next

como puedo saber el largo de una variable????

(intente utilizar un campo.lenght pero no me resultó )
  #2 (permalink)  
Antiguo 25/11/2004, 03:16
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
Buenas...

prueba con len(campo)
  #3 (permalink)  
Antiguo 25/11/2004, 03:18
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
no no, mira, si el nombre del campo es CAMPO_1 y utilizo el len, el resultado sería = 7..
lo que necesito es el largo del campo en la tabla, por ejemplo:
CAMPO_1 CHAR(20) <-- necesito rescatar el 20! :S
  #4 (permalink)  
Antiguo 25/11/2004, 03:20
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
Ahhh.... vale, pues... ni idea
  #5 (permalink)  
Antiguo 25/11/2004, 03:25
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
diablos!! gracias de todas maneras!, ojala que alguien sepa como hacerlo :S
  #6 (permalink)  
Antiguo 25/11/2004, 04:56
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
No se si habra algo asi tal cual, pero si el Campo.Name te da el nombre, el campo.type te entrega el tipo de dato. El tyipo de dato viene codificado en un numero que significa que tipo de dato estas usando.

mmm hasta por ahi se nomas.
  #7 (permalink)  
Antiguo 25/11/2004, 05:21
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
correcto muzztein, siguiedo esa logica intente un campo.lenght, pero no pasó nada.
  #8 (permalink)  
Antiguo 25/11/2004, 09:28
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
Intenta con DefinedSize. Y si te interesa el número de bytes que ocupa, usa ActualSize. Tambien existe Precision para los reales si nal no recuerdo.

Saludos
  #9 (permalink)  
Antiguo 25/11/2004, 10:47
 
Fecha de Ingreso: noviembre-2004
Ubicación: trelew - chubut
Mensajes: 134
Antigüedad: 19 años, 6 meses
Puntos: 0
proba con esta
Function: Ubound(arrayName)

This function returns the "upper bound" index of an array, which basically is the number of elements in an array.
  #10 (permalink)  
Antiguo 25/11/2004, 15:10
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
excelente! campo.DefinedSize fue la solucion!
Ahora.. ya que conozco el nombre, el tipo, y el largo de un campo
¿como podría modificarlos alterandoles el nombre, el tipo o su largo??

algo asi:
campo_1 char(30) --> campo_1 char(35)
campo_1 char(30) --> campo_1 num(30)
campo_1 char(30) --> campo_2 char(30)
  #11 (permalink)  
Antiguo 25/11/2004, 15:13
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
Con una sentencia SQL: ALTER TABLE
  #12 (permalink)  
Antiguo 25/11/2004, 15:44
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
Use ALTER COLUMN to change the data type of an existing field. You specify the field name, the new data type, and an optional size for Text and Binary fields. For example, the following statement changes the data type of a field in the Employees table called ZipCode (originally defined as Integer) to a 10-character Text field:

ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)

---
Myakire hasta allí tengo solucionado el tipo y el largo!
pero.. como renombro o altero el nombre de la columna?
  #13 (permalink)  
Antiguo 25/11/2004, 16:55
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
encontré un ALTER TABLE [nombre_de_tabla] RENAME COLUMN [nombre_columna] TO [nombre_nuevo] pero no me funciona, no me reconoce la palabra RENAME.

Creo que otra solucion seria copiar la columna con otro nombre y luego elimnar la columna original. Existe alguna sentencia que lo haga?
  #14 (permalink)  
Antiguo 26/11/2004, 09:27
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
¿Que BD usas?
  #15 (permalink)  
Antiguo 28/11/2004, 15:59
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
Sql****************
  #16 (permalink)  
Antiguo 29/11/2004, 09:00
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
¿SQLServer?, ¿MySQL?

Código:
ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) NOT NULL
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 23:12.