Principais novidades do Visual Studio 2010 e .NET Framework 4.0

3 03 2009

vs_mainlogo

Principais Ferramentas

Visual Studio Team System Architecture Edition fornecerá um novo conjunto de ferramentas UML (Unified Modeling Language).

 

Teste de Identificação de Impacto: As ferramentas para a integração de testes por todo seu ciclo de vida de desenvolvimento. Ferramentas de testes generalistas que suportam planejamento de testes e gerenciamento de casos de teste.

Melhorias significativas nos recursos de escalabilidade do Team Foundation Server (TFS), incluindo aprimoramentos que permitem às equipes configurarem e adotarem qualquer forma de processo de desenvolvimento. As equipes poderão rastrear o trabalho com mais facilidade. No sistema de gerenciamento de código fonte, o Visual Studio 2010 também passará a incluir conjuntos baseados no fluxo de trabalho que detectam erros antes desses afetarem o restante da. Por fim, os administradores contarão com uma implantação e gerenciamento de TFS significativamente mais simples.

 

 

 

visualstudio2010_productoverview042

visualstudio2010_productoverview031

 

Fonte Microsoft





Gerando script a partir de um select

26 02 2009

Introdução

Neste primeiro artigo estarei demonstrando um exemplo de gerador de scripts em Visual Studio 2008 com banco de dados SQL Server 2005. Este exemplo é essencial para aqueles momentos que temos duas bases de dados e precisamos importar algumas tabelas, porem aplicando alguns filtros.

Primeiro passo – Montaremos a tela de conexão que conterá os seguintes componentes:

·         pictureBox1  imagem de preferência;

·         ComboBox 1 alterar a propriedade name  para cbxServers e FlatStyle para Flat;

·         ComboBox2  alterar a propriedade name  para cbxLogin e FlatStyle para Flat;

·          TextBox1 alterar a propriedade name  para txtPass , BorderStyle para None e UseSystemPasswordChar para True;

·         ComboBox3 alterar a propriedade name  para cbxDataBase e FlatStyle para  Flat;

·         Button1 alterar a propriedade name para btnConect o text para Conect e o FlatStyle para Flat;

·         Button2 alterar a propriedade name para btnClose o text para Close e o FlatStyle para Flat;

·         Label1 alterar a propriedade text para Server name;

·         Label2 alterar a propriedade text para Login;

·         Label2 alterar a propriedade text para Password;

·         Label4 alterar a propriedade text para DataBases.

Imagem com as disposições dos componentes:

imagem1

Segundo passo – Iremos implementar as rotinas dos componentes da imagem anterior.

Primeiro teremos que criar uma referencia da SQLDMO.DLL em nosso projeto. Exiba a Solution Explorer e clique com o botão direito do mouse em References em seguida Add Reference conforme imagem abaixo:

imagem2

imagem3

Caso não encontre na aba COM procure na aba Browse e localize o seguinte caminho:

C:Arquivos de programasMicrosoft SQL Server80ToolsbinnSQLDMO.DLL

Em todo caso estarei postando junto com o projeto.

Depois de referenciado nossa DLL no evento Form_Load  iremos colocar a seguinte rotina:

//Criaremos uma instância da DLL

SQLDMO.ApplicationClass myApplicationClass = new SQLDMO.ApplicationClass();

SQLDMO.NameList myNameList = myApplicationClass.ListAvailableSQLServers();

//Limparemos os combos

cbxServers.Items.Clear();

cbxBaseDados.Items.Clear();
//Inserimos um bloco de repetição foreach para incluir em nossa lista de servidores disponíveis na rede.

            foreach (string SQLServer in myNameList)

            {

                cbxServers.Items.Add(SQLServer);

            }

Para o segundo componente cbxLogin, podemos incluir manualmente o login de acesso ao servidor de SQL mais utilizado, no meu caso são SA e Programador na propriedade Items.

Já para implementar o terceiro componente txt Pass, teremos que criar algumas funções que iremos utilizar no projeto em vários momentos.

Na Classe Program (esta classe é criada automaticamente quando criamos uma solução) criaremos uma nova classe chamada Acesso

public class Acesso

    {

        //Variáveis para conexão

        private SqlConnection Conexao;

        private string cConn;

       

        //Construtor da classe

        public Acesso()

        {

          

        }

       

        //Conexão com a base de dados

        public void sConexao (string cServer,string cBase, string cUser, string cPass)

        {

            //String de conexão

            cConn = “Data Source=” + cServer + “;Initial Catalog=” + cBase + “;User ID=” + cUser + “;Password=” + cPass;

            Conexao = new SqlConnection(cConn);

        }

       

        // Retorna dados em um DatSet

        public DataSet GetDados(string cQuery, string tblName)

        {

            SqlCommand cmd = new SqlCommand(cQuery, Conexao);

            SqlDataAdapter adapter = new SqlDataAdapter(cmd);

            DataSet ds = new DataSet();

            try

            {

                Conexao.Open();

                adapter.Fill(ds, tblName);

            }

            finally

            {

                Conexao.Close();

            }

            return ds;

        }

 

     }

    }

Depois de criado as funções na classe Acesso será necessário criar uma instância da classe no formulário que estaremos utilizando como Form1:

 //Instância da Classe Acesso

ExportSQL.Acesso conect = new ExportSQL.Acesso();

No evento tbxPass_Leave será implementado a seguinte rotina para buscar as bases de dados do servidor informado:

        private void tbxPass_Leave(object sender, EventArgs e)

        {

            if (tbxPass.Text != “”)

            {

                try

                {

                    //Neste momento estaremos chamando a função sConexao para alimentar a string de conexão

                    conect.sConexao(cbxServers.Text, “Master”, cbxLogin.Text, tbxPass.Text);

                   

                    //Declaração do DataSet utilizando a função GetDados da Classe acesso para carregar o DataSet

                    DataSet ds = conect.GetDados(“SELECT Name FROM SysDataBases WHERE NOT Name IN(‘MASTER’,'TEMPDB’,'MODEL’,'MSDB’) ORDER BY Name”, “Tabelas”);

                    n = 0;

                    cbxBaseDados.Items.Clear();

                    cbxBaseDados.Text = “”;

                    //Bloco For para alimentar o combobox cbxBaseDados

                    for (n = 0; n >= ds.Tables[0].Rows.Count-1; n++)

                    {

                        cbxBaseDados.Items.Add(ds.Tables[0].Rows[n]["Name"].ToString().Trim());

                    }

                    ds.Dispose();

                }

                catch (Exception)

                {

                    MessageBox.Show(“Senha Incorreta!”);

                    tbxPass.Focus();

                }

            }

            else

                return;

        } 

Para o botão Conect será necessário declarar algumas variáveis públicas e estáticas para enxergarmos no projeto, que será declarada junto com a instância da classe Acesso

        //Instância da Classe Acesso

        ExportSQL.Acesso conect = new ExportSQL.Acesso();

        //Variaveis públicas e estáticas para serem utilizadas no projeto

        public static string sServer, sBase, sLogin, sPass;

        int n;   

No evento Click do botão Conect colocaremos o seguinte código:

           //Ocultaremos o formuário atual

            this.Hide();

            //Chamaremos a função sConexao para alimentar a string de conexão

            conect.sConexao(cbxServers.Text, cbxBaseDados.Text, cbxLogin.Text, tbxPass.Text);

           

            //As variáveis serão carregadas para utilizarmos no formulário de geração de script

            sServer = cbxServers.Text;

            sBase = cbxBaseDados.Text;

            sLogin = cbxLogin.Text;

            sPass = tbxPass.Text;

           

            //Instância do formulário

            ExportSQL.frmExportImpor frmExportImport = new frmExportImpor();

            frmExportImport.ShowDialog();

            frmExportImport.Dispose();

 

            Close();

            Dispose();

E para finalizar, no evento Click do botão Close coloque:

Close();

Nos próximos dias estarei disponibilizando a segunda parte deste projeto.

Glauber Pinto

 





Disponível agora : CTP de fevereiro de 2008 da Team System Management Model Designer Power Tool

25 02 2009

A Team System Management Model Designer Power Tool é uma ferramenta de modelagem de cenários de saúde por linha de negócios e da instrumentação associada. Esta versão CTP (baixe aqui) inclui também um Guia de Gerenciamento que contém orientações detalhadas sobre como criar aplicativos altamente gerenciáveis na plataforma Microsoft Windows.

Fonte: MSDNBrasil

Glauber Pinto





Início das atividades

20 02 2009

A partir de hoje estarei iniciando as atividades do Blog do Desenvolvedor C#, tendo como principal objetivo compartilhar conhecimentos e técnicas de desenvolvimento.

Glauber Pinto