Foros del Web » Programación para mayores de 30 ;) » .NET »

Columnas en DataTable

Estas en el tema de Columnas en DataTable en el foro de .NET en Foros del Web. Se puede copiar la estructura de un DataTable en uno nuevo??? Es decir... si yo tengo una tabla (nombre,telefono,dni) con sus correspondiente datos, poder crear ...
  #1 (permalink)  
Antiguo 08/04/2005, 08:37
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 4 meses
Puntos: 2
Columnas en DataTable

Se puede copiar la estructura de un DataTable en uno nuevo???

Es decir... si yo tengo una tabla (nombre,telefono,dni) con sus correspondiente datos, poder crear una tabla nueva en blanco con la misma estructura (nombres de columnas, restricciones) --> NuevaTabla(nombre,telefono,dni)

Alguna idea
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores
  #2 (permalink)  
Antiguo 08/04/2005, 09:14
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Supongo que sería algo así (pero no estoy seguro):

'Siendo "orginal" la tabla original

Dim copia As DataTable
dim i as integer = 0
while i < original.columns.count
copia.columns.add(original.columns(i))
i+=1
end while

¿No te valdría así??Otra manera no se me ocurre...
  #3 (permalink)  
Antiguo 08/04/2005, 09:30
 
Fecha de Ingreso: septiembre-2004
Mensajes: 407
Antigüedad: 19 años, 8 meses
Puntos: 1
hace asi

dim tabla_nueva as new datatable
tabla_nueva=tabla_vieja
__________________
Mas vale morir de pie que vivir de rodillas :ojotes:
  #4 (permalink)  
Antiguo 08/04/2005, 11:35
Avatar de cableh  
Fecha de Ingreso: diciembre-2004
Mensajes: 54
Antigüedad: 19 años, 4 meses
Puntos: 0
En c# hay un método Clone():

DataTable TablaAntigua= new DataTable();
....
DataTable TablaNueva=new DataTable();
TablaNueva=TablaAntigua.Clone();
(y te copia toda la estructura de la tabla antigua en la nueva)

Salu2.
  #5 (permalink)  
Antiguo 08/04/2005, 17:51
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Cita:
Iniciado por popopo
hace asi

dim tabla_nueva as new datatable
tabla_nueva=tabla_vieja
Hay que tener cuidado con ese tipo de asignaciones cuando se trabaja con objetos, ya que en esa instrucción sólo se está asignando una referencia del objeto tabla_vieja no el contenido, así que cualquier cambio en tabla_nueva también afectará a tabla_vieja.

Me parece que lo que dice cableh es la opción más adecuada (existe en cualquier lenguaje ya que el DataTable pertenece al conjunto de clases que trae el .NET Framework)

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 09/04/2005, 04:06
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 4 meses
Puntos: 2
Cita:
Iniciado por cableh
En c# hay un método Clone():

DataTable TablaAntigua= new DataTable();
....
DataTable TablaNueva=new DataTable();
TablaNueva=TablaAntigua.Clone();
(y te copia toda la estructura de la tabla antigua en la nueva)

Salu2.
TablaNueva.Clone clona la estructura solamente, o incluye los datos?
La idea es poder guardar en un documento XML la estructura de cada tabla; como diferencia si una columna es char o int??

O sería mejor utilizar un .XSD para definir los datos...
Todo este post viene a vueltas por la necesidad de introducir los datos de un objeto concreto en su correspondiente tabla de la base de datos...
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores
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 12:28.