Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2011, 22:06
LionCode
 
Fecha de Ingreso: febrero-2011
Mensajes: 33
Antigüedad: 13 años, 9 meses
Puntos: 0
Pasar un numero indeterminado de argumentos a un metodo

Hola a todos tengo una duda y es que no se si puedo pasar un numero indeterminado de strings a un metodo.

Para que se hagan una idea de lo que intento seria para este ejemplo:

Una libreria de clases:
Código C#:
Ver original
  1. namespace Utilidades
  2. {
  3.     class ConexionDB
  4.     {
  5.         protected string CadenaConex;
  6.         public SqlConnection conn = new SqlConnection();
  7.         public SqlCommand consulta = new SqlCommand();
  8.         public ConexionDB(string BasedeDatos)
  9.         {
  10.       CadenaConex="Data Source=(local)\\SQLEXPRESS; Initial Catalog="+BasedeDatos+";Integrated Security=SSPI;";
  11.       }
  12.       public void Abrir() {
  13.           conn.ConnectionString = CadenaConex;
  14.           try { conn.Open(); Console.Write("Conectado a la base de datos!\n"); }
  15.           catch (SqlException err) { Console.Write("Error de conexion:\n{0}\n", err); }
  16.       }
  17.       public void Cerrar()
  18.       {
  19.           try { conn.Close(); Console.Write("Conexion a la base de datos cerrada!\n"); }
  20.           catch (SqlException err) { Console.Write("No se pudo cerrar la conexion por:\n{0}\n", err); }
  21.       }
  22.       public void CrearTabla(string[] tablaycolumnas) {
  23.           try
  24.           {
  25.               consulta.Connection = conn;
  26.       consulta.CommandText="CREATE TABLE "
  27.               foreach (var col in tablaycolumnas) { consulta.CommandText += col; }
  28.           }
  29.           catch (Exception ex) { Console.Write("No se pudo crear la tabla {0} por culpa de: \n{1}", tablaycolumnas[0], ex); }
  30.       }
  31. }

el Main:

Código c#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Utilidades;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             ConexionDB ConexionDatos = new ConexionDB("SeccionEconomica");
  14.             ConexionDatos.Abrir();
  15.             Console.Write("Creo una Tabla");
  16.             ConexionDatos.CrearTabla("tabla_dos ","(Nombre char(50) ","(Apellido char(50) ");
  17.            
  18.         }
  19.     }
  20. }

La cosa es que no se sabe cuantas columnas querra añadir el cliente en un principio a la tabla. Me podrian dar una mano para saber si voy por buen camino, o deberia plantearme otra vision del problema

Última edición por LionCode; 03/04/2011 a las 22:23