public string EjecutarComando(string Comando)
        {
            string[]          palabras            = Comando.Split(" ");
            int               estado              = 0;
            string            id                  = "";
            string            nombreTabla         = "";
            string            tipoComando         = "";
            List <DefColumna> listaDefColumnas    = new List <DefColumna>();
            List <string>     listaDeValores      = new List <string>();
            List <string>     listadeColumnas     = new List <string>();
            List <string>     listacolumnasselect = new List <string>();
            DefColumna        tmp                 = new DefColumna();
            string            resultado           = "";

            foreach (var palabra in palabras)
            {
                switch (estado)
                {
                case 0:
                    if (palabra.ToUpper() == "CREATE")
                    {
                        estado = 1;
                    }
                    else if (palabra.ToUpper() == "SELECT")
                    {
                        estado = 22;
                    }
                    else if (palabra.ToUpper() == "INSERT")
                    {
                        estado = 10;
                    }
                    else if (palabra.ToUpper() == "DELETE")
                    {
                        estado = 26;
                    }
                    else if (palabra.ToUpper() == "DROP")
                    {
                        estado      = 29;
                        tipoComando = "DROP_TABLE";
                    }
                    break;

                case 29:
                    if (palabra == "TABLE")
                    {
                        estado = 30;
                    }
                    break;

                case 30:
                    nombreTabla = palabra;
                    estado      = 7;
                    break;

                case 26:
                    if (palabra == "FROM")
                    {
                        estado = 2;
                    }
                    break;

                case 1:
                    if (palabra.ToUpper() == "TABLE")
                    {
                        tipoComando = "CREAR_TABLA";
                        estado      = 2;
                    }
                    break;

                case 2:
                    nombreTabla = palabra;
                    estado      = 3;
                    break;

                case 3:
                    if (palabra == "(")
                    {
                        estado = 4;
                    }
                    else if (palabra == "WHERE")
                    {
                        estado = 23;
                    }
                    break;

                case 4:
                    tmp = new DefColumna();
                    tmp.nombreColumna = palabra;
                    estado            = 5;
                    break;

                case 5:
                    tmp.tipoColumna = palabra;
                    listaDefColumnas.Add(tmp);
                    estado = 6;
                    break;

                case 6:
                    if (palabra == ",")
                    {
                        estado = 4;
                    }
                    else if (palabra == ")")
                    {
                        estado = 7;
                    }
                    break;

                case 7:
                    if (palabra.ToUpper() == "GO")
                    {
                        if (tipoComando == "CREAR_TABLA")
                        {
                            //termine y creo el archivo y el arbol, devolver tabla creada correctamente
                            _tablaRepository.CrearTabla(nombreTabla, listaDefColumnas);
                            resultado = "Tabla creada exitosamente";
                        }
                        else if (tipoComando == "SELECCIONAR_VALORES")
                        {
                            resultado = "SELECCIONAR_VALORES";
                            _tablaRepository.VerColumnasSelect(nombreTabla, listacolumnasselect);
                        }
                        else if (tipoComando == "INSERT_INTO")
                        {
                            resultado = "INSERT_INTO";
                            _tablaRepository.InsertarValores(nombreTabla, listaDeValores);
                        }
                        else if (tipoComando == "DELETE")
                        {
                            resultado = "DELETE";
                            _tablaRepository.EliminarValores(nombreTabla, nombreTabla, id);
                            Valores.list_string = listaDeValores;
                        }
                        else if (tipoComando == "DROP_TABLE")
                        {
                            resultado = "DROP_TABLE";
                            _tablaRepository.DropTable(nombreTabla);
                        }
                    }
                    break;

                case 8:
                    if (palabra.ToUpper() == "FROM")
                    {
                        estado = 9;
                    }
                    break;

                case 22:
                    listacolumnasselect.Add(palabra);
                    estado = 27;
                    break;

                case 27:
                    if (palabra == ",")
                    {
                        estado = 22;
                    }
                    else if (palabra != "FROM")
                    {
                        estado = 22;
                    }
                    else
                    {
                        estado = 9;
                    }
                    break;

                case 28:
                    if (palabra.ToUpper() == "FROM")
                    {
                        estado = 9;
                    }

                    break;

                case 9:
                    nombreTabla = palabra;
                    tipoComando = "SELECCIONAR_VALORES";
                    estado      = 7;
                    break;

                case 10:
                    if (palabra.ToUpper() == "INTO")
                    {
                        tipoComando = "INSERT_INTO";
                        estado      = 11;
                    }
                    break;

                case 11:
                    nombreTabla = palabra;
                    estado      = 12;

                    break;

                case 12:
                    if (palabra == "(")
                    {
                        estado = 14;
                    }
                    break;

                case 13:
                    listadeColumnas.Add(palabra);
                    estado = 14;
                    break;

                case 14:
                    if (palabra == ",")
                    {
                        estado = 13;
                    }
                    else if (palabra == ")")
                    {
                        estado = 15;
                    }
                    break;

                case 15:
                    if (palabra == "VALUES")
                    {
                        estado = 16;
                    }
                    break;

                case 16:
                    if (palabra == "(")
                    {
                        estado = 17;
                    }
                    break;

                case 17:
                    listaDeValores.Add(palabra);
                    estado = 18;
                    break;

                case 18:
                    if (palabra == ",")
                    {
                        estado = 17;
                    }
                    else if (palabra == ")")
                    {
                        estado = 7;
                    }
                    break;

                case 23:
                    tmp.nombreColumna = palabra;
                    estado            = 24;
                    break;

                case 24:
                    if (palabra == "=")
                    {
                        estado = 25;
                    }
                    break;

                case 25:
                    id          = palabra;
                    estado      = 7;
                    tipoComando = "DELETE";
                    break;

                default:
                    break;
                }
            }
            return(resultado);
        }