Compartilhar via


Como: Criar e executar uma instrução SQL que retorna um único valor.

To execute an SQL statement that returns a single value, you can run a TableAdapter query that is configured to run an SQL statement (for example, CustomersTableAdapter.CustomerCount()).

Se seu aplicativo não usa TableAdapters, chame o método ExecuteScalar em um objeto de comando, definindo sua propriedade CommandType como Text. ("Objeto de comando" refere-se ao comando específico para o .NET Framework Data Provider que seu aplicativo está usando. Por exemplo, se seu aplicativo estiver usando provedor de dados do .NET Framework para SQL Server, o objeto de comando seria SqlCommand.)

Os exemplos a seguir mostram como executar instruções SQL que retornem valores únicos de um banco de dados usando o TableAdapters ou objetos Command. Para obter mais informações sobre como consultar com TableAdapters e comandos, consulte Preenchendo Datasets com dados.

ObservaçãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações.

Executar instruções SQL que retornem valores únicos usando um TableAdapter

Este exemplo mostra como criar uma consulta TableAdapter usando o Assistente de configuração da consulta TableAdapter, e em seguida, ele fornece informações sobre como declarar uma instância do TableAdapter e executar a consulta.

Para criar um instrução SQL que retorne um único valor usando um TableAdapter

  1. Abra um dataset no Dataset Designer. Para obter mais informações, consulte Como: Abra um Dataset no Dataset Designer.

  2. Se você não tiver um, crie um TableAdapter. Para obter mais informações sobre como criar TableAdapters, consulte Como: Crie TableAdapters.

  3. Se você tiver uma consulta no seu TableAdapter que usa uma instrução SQL para retornar um único valor, então vá para o procedimento seguinte, "Para declarar uma instância do TableAdapter e executar a consulta". Caso contrário, prossiga com a etapa 4 para criar uma nova consulta que retorna um único valor.

  4. Clique com o botão direito do mouse no TableAdapter que você deseja, e use o menu de atalho para adicionar uma consulta.

    O TableAdapter Query Configuration Wizard abre.

  5. Deixe o valor padrão do Use SQL statements, e clique em Next.

  6. Escolha a opção SELECT which returns a single value, e clique em Next.

  7. Digite sua instrução SQL, ou use o Query Builder para auxiliar na criação de uma, e clique em Next.

  8. Forneça um nome para a consulta.

  9. Conclua o assistente; a consulta é adicionada ao TableAdapter.

  10. Crie o seu projeto.

Para declarar uma instância do TableAdapter e executar a consulta

  1. Declare uma instância do TableAdapter que contém a consulta que você deseja executar.

    • Para criar uma instância usando ferramentas em tempo de design, arraste o TableAdapter que você deseja a partir da Toolbox. (Os componentes no seu projeto agora aparecem no Toolbox sob um título que coincide com o nome do projeto.) Se o TableAdapter não aparecer no Toolbox, então você talvez precise criar seu projeto.

      - ou -

    • Para criar uma instância no código, substitua o código a seguir pelos nomes de seu DataSet e TableAdapter.

      Dim tableAdapter As New DataSetTableAdapters.TableAdapter

      ObservaçãoObservação

      Na verdade os TableAdapters não estão localizados dentro de suas classes dataset associadas. Cada dataset tem uma coleção correspondente de TableAdapters no seu próprio namespace. Por exemplo, se você tiver um dataset chamado SalesDataSet, então haveria um namespace SalesDataSetTableAdapters que contém seus TableAdapters.

  2. Chame sua consulta como você chamaria qualquer outro método no código. Sua consulta é um método no TableAdapter. Substitua o código a seguir pelos nomes de seu TableAdapter e de sua consulta. Você também precisa passar quaisquer parâmetros necessários para sua consulta e fazer algo com o valor de retorno (por exemplo, atribuí-lo a uma variável). Se você não tiver certeza se sua consulta requer parâmetros, ou que parâmetros requer, então, verifique o IntelliSense para a assinatura necessária da consulta. Dependendo se sua consulta usa parâmetros ou não, o código seria de aparência semelhante a um dos exemplos a seguir:

    TableAdapter.Query()

    TableAdapter.Query(Parameters)

  3. Você provavelmente precisará atribuir o valor retornado pela consulta a uma variável. TableAdapter queries that return a single value return a data type based on the query (as opposed to the ExecuteScalar method, which returns an object). Por exemplo, se sua consulta TableAdapter seleciona uma única coluna cujo tipo de dados for um inteiro, o valor retornado da consulta será um inteiro. If the column allows null values, the return value is one of the nullable types (for example, Nullable(Of Integer)). For more information on nullable types, see Nullable. The complete code to declare an instance of a TableAdapter and execute a query should look similar to the following (this example assumes the return value is an integer; adjust your code according to the data type returned by your query):

    Dim tableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter()
    
    Dim returnValue As Integer
    returnValue = CType(tableAdapter.GetCustomerCount(), Integer)
    
    NorthwindDataSetTableAdapters.CustomersTableAdapter tableAdapter = 
        new NorthwindDataSetTableAdapters.CustomersTableAdapter();
    
    int returnValue = (int)tableAdapter.GetCustomerCount();
    

Execute instruções SQL que retornem valores únicos usando um objeto Command

O exemplo a seguir mostra como criar um comando e executar uma instrução SQL que retorna um único valor. Para obter informações sobre configurar e obter valores de parâmetro para um comando, consulte Como: Definir e obter parâmetros para objetos de comando.

Este exemplo usa o objeto SqlCommand e requer:

  • Referências aos namespaces System, System.Data e System.Xml.

  • Uma conexão de dados denominada SqlConnection1.

  • Uma tabela denominada Customers na fonte de dados à qual SqlConnection1 se conecta. (Caso contrário, você precisa de uma instrução SQL válida para sua fonte de dados).

Para executar uma instrução SQL que retorna um único valor usando um DataCommand

  • Adicione o seguinte código para um método a partir do código que você deseja executar. You return a single value by calling the ExecuteScalar method of a command (for example, ExecuteScalar). The data is returned in an Object.

    Dim sqlConnection1 As New SqlConnection("Your Connection String")
    Dim cmd As New SqlCommand
    Dim returnValue As Object
    
    cmd.CommandText = "SELECT COUNT(*) FROM Customers"
    cmd.CommandType = CommandType.Text
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    
    returnValue = cmd.ExecuteScalar()
    
    sqlConnection1.Close()
    
    SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
    SqlCommand cmd = new SqlCommand();
    Object returnValue;
    
    cmd.CommandText = "SELECT COUNT(*) FROM Customers";
    cmd.CommandType = CommandType.Text;
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    
    returnValue = cmd.ExecuteScalar();
    
    sqlConnection1.Close();
    

Segurança

O aplicativo requer permissão para acessar o banco de dados e executar a instrução SQL.

Consulte também

Tarefas

Como: Criar consultas TableAdapter

Como: Editar consultas do TableAdapter

Como: Preencher um Dataset com dados

Como: Definir e obter parâmetros para objetos de comando

Referência

SqlCommand.ExecuteScalar

OleDbCommand.ExecuteScalar

OdbcCommand.ExecuteScalar

OracleCommand.ExecuteScalar

Conceitos

Preenchendo Datasets com dados