NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosASP.NET › Capítulo 10 : 07
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
ASP.NET - CURSO COMPLETO
Autor: Júlio Battisti

Lição 087 - Capítulo 10 - Criando objetos Command

Para criar objetos Command temos duas opções:

  • SqlCommand: Este objeto é utilizado para definir um comando que será executado através de uma conexão do tipo SqlConnection.
  • OleDbCommand: Utilizado para definir um comando que será executado através de uma conexão do tipo OleDbConnection.

Conforme descrevemos no tópico anterior, podemos criar uma objeto Command, no qual definimos um comando SQL a ser executado através de uma conexão. As propriedades dos objetos SqlCommand e OleDbCommand são semelhantes. Na Tabela 10.

Na Tabela 10.6 temos uma descrição das principais propriedades das classes SqlCommand/OleDbCommand:

Propriedade Descrição
CommandText Esta propriedade é utilizada para definir ou retornar o comando SQL ou o nome de um Stored Procedure associado com o comando.
CommandTimeOut Define por quanto tempo o Framework .NET tenta executar o comando. Se no tempo definido por esta propriedade, o comando não for executado com sucesso, o mesmo é suspenso e uma mensagem de erro é retornada.
CommandType Pode ser definida como Text, que é o valor padrão e significa que o valor atribuído à propriedade CommandText é um comando SQL. Também pode assumir o valor StoredProcedure, neste caso significa que o valor atribuído à propriedade CommandText é o nome de um Stored Procedure.
Connection Esta propriedade é utilizada para definir ou retornar a conexão através da qual o comando é executado.

Tabela 10.6 Principais propriedades das classes SqlCommand/OleDbCommand.

Na Tabela 10.7 temos uma descrição dos principais métodos das classes SqlCommand/OleDbCommand:

Método Descrição
Cancel Cancela a execução do comando.
CreateParameter Utilizada para a criação e definição de parâmetros. Podemos utilizar parâmetros quando estamos executando um Stored Procedure ou uma consulta parametrizada do Microsoft Access.
ExecuteNonQuery Executa o comando definido na propriedade CommandText, através da conexão definida na propriedade Connection, para consultas que não retornam dados. Exemplo de consultas que não retornam dados são consultas de atualização, adição ou exclusão. Este método retorna um valor inteiro, valor este que indica o número de registros afetadas pela execução do comando.

Tabela 10.7 Principais métodos das classes SqlCommand/OleDbCommand.

Vamos apresentar um pequeno exemplo, onde criamos uma conexão com o banco de dados C:\Meus documentos\NorthWind.mdb. Uma vez estabelecida a conexão vamos criar um objeto OleDbCommand associado com esta conexão e vamos exibir as propriedades do objeto OleDbCommand em um Web Server Control do tipo TextArea. Vamos utilizar o evento Page_Load, da página ASP.NET, para estabelecer a conexão com o banco de dados pubs do SQL Server..

Na Listagem 10.3 temos o código para o exemplo proposto.

Listagem 10.3 – A classe OleDbCommand – chap10ex3.aspx.

<%@ Import Namespace="System.Data"  %>
<%@ Import  Namespace="System.Data.OleDb" %>
<html>
<script language="C#"  runat="server">
    protected void Page_Load(Object Src, EventArgs E ) 
   {
      // Crio uma conexão com o banco de dados  Northwind.mdb
      // localizado na pasta C:\Meus  documentos.
      String DefineConexão=  "PROVIDER=MICROSOFT.JET.OLEDB.4.0;" +
                             "DATA SOURCE=c:\\meus  documentos\\NorthWind.mdb";
      OleDbConnection  MinhaConexão = new OleDbConnection(DefineConexão);
      // Agora crio um objeto  OleDbCommand chamado MeuComando.
      // Primeiro defino o texto do comando em  uma variável TextoDoComando.
      // Em seguida crio um objeto do tipo  OleDbCommand e passo esta 
      // variável como parâmetro.
      string TextoDoComando = "SELECT  NúmeroDoPedido, CódigoDoCliente,"
                            + "PaísDeDestino FROM Pedidos";
    OleDbCommand MeuComando = new  OleDbCommand(TextoDoComando,MinhaConexão);
    MinhaConexão.Open();
      // Declaro uma variável do tipo String:  auxPropriedades.
      // A variável auxPropriedades irá conter  o valor das propriedades 
      // do comando MeuComando.
      String auxPropriedades;
      auxPropriedades = "Propriedades do  objeto OleDbCommand:";
      auxPropriedades = auxPropriedades +  "\n\n" + "CommandType: " + 
                                   MeuComando.CommandType.ToString();
      auxPropriedades = auxPropriedades +  "\n\n" + "CommandText: " + 
                                   MeuComando.CommandText.ToString();
      auxPropriedades = auxPropriedades +  "\n\n" + "Timeout: " + 
                                   MeuComando.CommandTimeout.ToString();
      auxPropriedades = auxPropriedades +  "\n\n" + "Connection: " + 
                                   MeuComando.Connection.ToString();
      ExibePropriedades.Font.Bold=true;
      ExibePropriedades.Text=auxPropriedades;
   }
</script>
<body>
    <h3><font face="Verdana">Classe  OleDbCommand!!!</font></h3>
            <asp:TextBox 
                 runat=server
                 id="ExibePropriedades"
                 Text=""
                 Rows="10"
                 Cols="70"
                 Font_Face="Arial" 
                 Font_Size="3"
                 BackColor="lightblue"
                 TextMode="MultiLine"
            />
</body>
</html>

Digite o código da Listagem 10.3 e salve o mesmo em um arquivo chamado chap10ex3.aspx, na pasta chap10, dentro da pasta wwwroot, conforme descrito no item: “Check List para acompanhar os exemplos deste livro”, no Capítulo 6.

Para acessar esta página utilize o seguinte endereço:

http://localhost/chap10/chap10ex3.aspx

você irá obter uma página semelhante a página indicada na Figura 10.11.

Curso Completo de ASP.NET - Júlio Battisti
Figura 10.11 Propriedades da classe OleDbCommand.

Comentários sobre o código do exemplo – Chap10Ex3.aspx.

  • Neste exemplo criamos um objeto do tipo OleDbCommand, conforme indicado no fragmento de código a seguir:
      string TextoDoComando = "SELECT NúmeroDoPedido, CódigoDoCliente,"
                            + "PaísDeDestino FROM  Pedidos";
    OleDbCommand MeuComando = new OleDbCommand(TextoDoComando,MinhaConexão);

Observe que primeiro criamos uma string TextoDoComando, a qual atribuímos o comando SQL que será associado com o objeto OleDbCommand. Em seguida criamos o objeto MeuComando e passamos como parâmetros, para o método construtor do objeto, primeiro a string TextoDoComando e em seguida o nome da conexão, através da qual o comando deve ser executado.

É importante salientar que, neste momento, o comando ainda não foi executado e, portanto, ainda não foram retornados dados.

  • Em seguida começamos a concatenar os valores das propriedades do objeto MeuComando em uma string auxPropriedades. No final o valor desta string é exibida em um controle do tipo TextArea.
  • Ao invés dos objetos OleDbConnection e OleDbCommand, poderíamos utilizar os objetos SqlConnection e SqlCommand para conectar com o SQL Server, conforme indicado no código a seguir:
     SqlConnection MinhaConexão = new 
     SqlConnection("server=SERVIDOR\\NETSDK;uid=sa;pwd=;database=pubs");
     string TextoDoComando = "SELECT au_id, au_lname, au_fname FROM  authors";
     OleDbCommand MeuComando = new OleDbCommand(TextoDoComando,MinhaConexão);
     MinhaConexão.Open();

Apenas definir um objeto OleDbCommand ou SqlCommand, não faz com que dados sejam retornados através da conexão definida. Quando os dados são retornados, os mesmos são armazenados em um objeto do tipo DataSet. Mas precisamos de uma maneira de “ligar” o objeto Command com o objeto DataSet, através dos seguintes passos:

  • O comando definido na propriedade CommandText, do objeto Command é executado.
  • Os dados retornados são ligados a um objeto do tipo DataSet.

O objeto que faz esta ligação é o DataAdapter.Vamos estudar este objeto em detalhes. O objeto DataAdapter (SqlDataAdapter ou OleDbDataAdapter) trabalha em conjunto com o objeto DataSet. Nos exemplos do próximo tópico veremos a utilização do objeto DataAdapter e apresentaremos apenas alguns aspectos básicos do objeto DataSet. No tópico seguinte iremos detalhar o objeto DataSet. Também estaremos utilizando alguns elementos básicos do objeto DataGrid, o qual será explicado em detalhes no final do Capítulo.

« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2024 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI