Пример #1
0
        public List <DBTabela> ListarCamposXML(string strNomeDaTabela)
        {
            try
            {
                List <DBTabela> lista = new List <DBTabela>();

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"D:\Web\Habil_Informatica\Habil_Informatica_Original\Habil_Informatica_Original\XML\XMLColumnsTables.xml"); //Carregando o arquivo


                //Pegando elemento pelo nome da TAG
                XmlNodeList xnList = xmlDoc.GetElementsByTagName("row");

                //Usando for para imprimir na tela
                for (int i = 0; i < xnList.Count; i++)
                {
                    if (strNomeDaTabela == xnList[i]["TABELA"].InnerText)
                    {
                        DBTabela rowp = new DBTabela();

                        rowp.Tabela    = Convert.ToString(xnList[i]["TABELA"].InnerText);
                        rowp.NomeComum = Convert.ToString(xnList[i]["DESCRICAO"].InnerText);
                        rowp.Coluna    = Convert.ToString(xnList[i]["COLUNA"].InnerText);
                        rowp.Tipo      = Convert.ToString(xnList[i]["TIPO"].InnerText);

                        switch (Convert.ToString(xnList[i]["TIPO"].InnerText).ToUpper())
                        {
                        case  "INT":
                            rowp.Tamanho = 8;
                            break;

                        case "SMALLINT":
                            rowp.Tamanho = 4;
                            break;

                        default:
                            rowp.Tamanho = Convert.ToInt32(xnList[i]["TAMANHO"].InnerText);
                            break;
                        }

                        rowp.Nulo = Convert.ToInt32(xnList[i]["EH_NULO"].InnerText);

                        lista.Add(rowp);
                    }
                }
                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Dados da Tabela: " + ex.Message.ToString());
            }
            finally
            {
            }
        }
Пример #2
0
        public List <DBTabela> ListarEstruturasBanco(long lngDe, long lngAte)
        {
            try
            {
                AbrirConexao();

                string strSQL = " SELECT * FROM STRUCT_DATABASE ";

                if (lngDe > 0)
                {
                    strSQL = strSQL + " Where CD_STR_DATABASE > " + lngDe.ToString();
                    if (lngAte > 0)
                    {
                        strSQL = strSQL + " and CD_STR_DATABASE <= " + lngAte.ToString();
                    }
                }
                else
                {
                    if (lngAte > 0)
                    {
                        strSQL = strSQL + " Where CD_STR_DATABASE <= " + lngAte.ToString();
                    }
                }

                strSQL = strSQL + " Order by CD_STR_DATABASE ";

                Cmd = new SqlCommand(strSQL, Con);

                Dr = Cmd.ExecuteReader();

                List <DBTabela> lista = new List <DBTabela>();

                while (Dr.Read())
                {
                    DBTabela rowp = new DBTabela();
                    rowp.BancoEstrutura = Convert.ToString(Dr["TX_SCRIPT"]);
                    rowp.NomeComum      = Convert.ToInt64(Dr["CD_STR_DATABASE"]) + " - " + Convert.ToString(Dr["DS_STR_DATABASE"]);
                    rowp.IDTabela       = Convert.ToInt64(Dr["CD_STR_DATABASE"]);
                    lista.Add(rowp);
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Dados da Tabela: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Пример #3
0
        public List <DBTabela> ListarCamposView(string strNomeDaView)
        {
            try
            {
                AbrirConexao();

                string strSQL = " SELECT TABELAS.NAME AS TABELA, COLUNAS.NAME AS COLUNA, TIPOS.NAME AS TIPO, COLUNAS.IS_NULLABLE AS EH_NULO, PF.VW_DS_ALIAS, REG_UNICO, POP_TABELA   ";
                strSQL = strSQL + " FROM sys.all_views TABELAS ";
                strSQL = strSQL + "   INNER JOIN sys.all_columns COLUNAS ";
                strSQL = strSQL + "      ON (TABELAS.object_id = COLUNAS.object_id) ";
                strSQL = strSQL + "   INNER JOIN SYSTYPES TIPOS ";
                strSQL = strSQL + "      ON (COLUNAS.system_type_id = TIPOS.xtype ) ";
                strSQL = strSQL + "   INNER JOIN HABIL_PESQUISA_FILTRO PF ";
                strSQL = strSQL + "     ON (COLUNAS.NAME = PF.DS_CAMPO) and (TABELAS.NAME = PF.DS_TABELA)  ";
                strSQL = strSQL + "  Where TABELAS.object_id > 0 and tipos.name <> 'sysname' ";
                strSQL = strSQL + "    and TABELAS.NAME = '" + strNomeDaView + "'";
                strSQL = strSQL + " ORDER BY TABELAS.NAME, PF.ORDEM ";

                Cmd = new SqlCommand(strSQL, Con);

                Dr = Cmd.ExecuteReader();

                List <DBTabela> lista = new List <DBTabela>();

                while (Dr.Read())
                {
                    DBTabela rowp = new DBTabela();

                    rowp.Tabela        = Convert.ToString(Dr["Tabela"]);
                    rowp.Coluna        = Convert.ToString(Dr["Coluna"]);
                    rowp.Tipo          = Convert.ToString(Dr["Tipo"]);
                    rowp.Tamanho       = 50;
                    rowp.Nulo          = Convert.ToInt32(Dr["Eh_Nulo"]);
                    rowp.NomeComum     = Convert.ToString(Dr["VW_DS_ALIAS"]);
                    rowp.RegistroUnico = Convert.ToInt32(Dr["REG_UNICO"]);
                    rowp.PopulaTabela  = (Dr["POP_TABELA"].ToString());
                    lista.Add(rowp);
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Dados da Tabela: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Пример #4
0
        public void GravarEstruturasBanco(DBTabela p)
        {
            try
            {
                AbrirConexao();

                string strSQL = " INSERT INTO STRUCT_DATABASE (DS_STR_DATABASE, TX_SCRIPT) VALUES (@v2, @v3)";

                Cmd = new SqlCommand(strSQL, Con);

                Cmd.Parameters.AddWithValue("@v2", p.NomeComum);
                Cmd.Parameters.AddWithValue("@v3", p.BancoEstrutura);

                Cmd.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao gravar Empresa: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar Script: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Пример #5
0
        public List <DBTabela> ListarCamposSQL(string strNomeDaTabela)
        {
            try
            {
                AbrirConexao();

                string strSQL = " SELECT VW.MAJOR_ID, VW.MINOR_ID, TABELAS.NAME AS TABELA, COLUNAS.NAME AS COLUNA, TIPOS.NAME AS TIPO, COLUNAS.LENGTH AS TAMANHO, COLUNAS.ISNULLABLE AS EH_NULO, VW.DESCRICAOCAMPO ";
                strSQL = strSQL + " FROM SYSOBJECTS TABELAS ";
                strSQL = strSQL + "   INNER JOIN SYSCOLUMNS COLUNAS ";
                strSQL = strSQL + "     ON (TABELAS.ID = COLUNAS.ID) ";
                strSQL = strSQL + "   INNER JOIN Vw_Table_Columns_Description AS VW ";
                strSQL = strSQL + "     ON TABELAS.NAME = VW.NOMETABELA AND COLUNAS.NAME = VW.NOMECOLUNA ";
                strSQL = strSQL + "   INNER JOIN SYSTYPES TIPOS ON (COLUNAS.USERTYPE = TIPOS.USERTYPE) AND (COLUNAS.xtype = TIPOS.xtype ) ";
                strSQL = strSQL + "   INNER JOIN HABIL_PESQUISA_FILTRO PF ";
                strSQL = strSQL + "     ON (COLUNAS.NAME = PF.DS_CAMPO) and (TABELAS.NAME = PF.DS_TABELA)  ";
                strSQL = strSQL + " WHERE TABELAS.XTYPE = 'U' AND TABELAS.NAME = '" + strNomeDaTabela + "' AND COLUNAS.XTYPE <> 99 ";
                strSQL = strSQL + " ORDER BY TABELAS.NAME, PF.ORDEM ";

                Cmd = new SqlCommand(strSQL, Con);

                Dr = Cmd.ExecuteReader();

                List <DBTabela> lista = new List <DBTabela>();

                while (Dr.Read())
                {
                    DBTabela rowp = new DBTabela();

                    rowp.IDTabela  = Convert.ToInt64(Dr["MAJOR_ID"]);
                    rowp.IDCampo   = Convert.ToInt64(Dr["MINOR_ID"]);
                    rowp.Tabela    = Convert.ToString(Dr["Tabela"]);
                    rowp.Coluna    = Convert.ToString(Dr["Coluna"]);
                    rowp.NomeComum = Convert.ToString(Dr["DescricaoCampo"]);
                    rowp.Tipo      = Convert.ToString(Dr["Tipo"]);

                    switch (Convert.ToString(Dr["Tipo"]).ToUpper())
                    {
                    case "INT":
                        rowp.Tamanho = 8;
                        break;

                    case "SMALLINT":
                        rowp.Tamanho = 4;
                        break;

                    default:
                        rowp.Tamanho = Convert.ToInt32(Dr["Tamanho"]);
                        break;
                    }

                    rowp.Nulo = Convert.ToInt32(Dr["Eh_Nulo"]);

                    lista.Add(rowp);
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Dados da Tabela: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }