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 originalnamespace Utilidades
{
class ConexionDB
{
protected string CadenaConex;
public SqlConnection conn = new SqlConnection();
public SqlCommand consulta = new SqlCommand();
public ConexionDB(string BasedeDatos)
{
CadenaConex="Data Source=(local)\\SQLEXPRESS; Initial Catalog="+BasedeDatos+";Integrated Security=SSPI;";
}
public void Abrir() {
conn.ConnectionString = CadenaConex;
try { conn.Open(); Console.Write("Conectado a la base de datos!\n"); }
catch (SqlException err) { Console.Write("Error de conexion:\n{0}\n", err); }
}
public void Cerrar()
{
try { conn.Close(); Console.Write("Conexion a la base de datos cerrada!\n"); }
catch (SqlException err) { Console.Write("No se pudo cerrar la conexion por:\n{0}\n", err); }
}
public void CrearTabla(string[] tablaycolumnas) {
try
{
consulta.Connection = conn;
consulta.CommandText="CREATE TABLE "
foreach (var col in tablaycolumnas) { consulta.CommandText += col; }
}
catch (Exception ex) { Console.Write("No se pudo crear la tabla {0} por culpa de: \n{1}", tablaycolumnas[0], ex); }
}
}
el Main:
Código c#:
Ver originalusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Utilidades;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ConexionDB ConexionDatos = new ConexionDB("SeccionEconomica");
ConexionDatos.Abrir();
Console.Write("Creo una Tabla");
ConexionDatos.CrearTabla("tabla_dos ","(Nombre char(50) ","(Apellido char(50) ");
}
}
}
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