Share via


Movendo dados para variáveis de programa

Os aplicativos que acessam bancos de dados SQL Server usando uma API de banco de dados precisam mover dados entre variáveis de aplicativo e os seguintes:

  • Colunas de conjunto de resultados

    Os aplicativos precisam mover dados das colunas de uma linha de busca em um conjunto de resultados para variáveis de aplicativo.

  • Códigos de retorno

    Os aplicativos precisam mover dados de um código de retorno de procedimento armazenado para uma variável de aplicativo.

  • Parâmetros

    Os aplicativos precisam mover dados entre parâmetros de procedimento armazenado e variáveis de aplicativo. Os parâmetros podem ser de entrada ou de saída. Portanto, a movimentação dos dados pode ser da variável para o parâmetro ou do parâmetro para a variável.

  • Marcadores de parâmetro

    Os marcadores de parâmetro ODBC e OLE DB são usados em instruções SQL em vez de expressões de entrada (como em critério de pesquisa de cláusula WHERE) ou em parâmetros de procedimento armazenado e códigos de retorno. Os aplicativos precisam mover dados de variáveis de aplicativo e a expressão substituída pelo marcador de parâmetro. Para obter mais informações, consulte Marcadores de parâmetro (Mecanismo de Banco de Dados).

Associando

Muitas APIs de bancos de dados usam o conceito de associação para especificar como os dados serão movidos entre uma variável de aplicativo e o objeto SQL Server. As APIs de banco de dados fornecem funções que um aplicativo pode chamar para realizar o seguinte:

  • Determinar o tipo de dados, tamanho, a precisão e escala de uma coluna de conjunto de resultados, o código de retorno, parâmetro ou marcador de parâmetro. Depois que o aplicativo receber essas informações, poderá alocar uma variável ou uma matriz de variáveis com atributos compatíveis.

  • Associe a coluna do conjunto de resultados, código de retorno, parâmetro ou marcador de parâmetro a uma variável específica ou a uma matriz de variáveis. A informações de associação incluem geralmente o seguinte:

    • Endereço e atributos (tipo de dados, tamanho, precisão e escala) da variável.

    • Nome e atributos do objeto de banco de dados.

Os dados são movidos normalmente quando ocorre uma das ações seguintes:

  • Uma instrução Transact-SQL ou lote é executado.

    O provedor OLE DB ou driver ODBC extraem os dados associados para qualquer parâmetro de entrada ou marcador de parâmetro, incluindo-os no pacote enviado para uma instância do SQL Server.

  • Uma linha de conjunto de resultados é buscada.

    O provedor OLE DB ou o driver ODBC movem os dados de todas as colunas para variáveis associadas.

  • Todos os conjuntos de resultados de um procedimento armazenado foram encontrados ou cancelados.

    O provedor OLE DB ou driver ODBC movem os dados de qualquer parâmetro de saída ou código de retorno para suas variáveis associadas.

Não é necessário que as variáveis associadas de aplicativo tenham o mesmo tipo de dados do objeto SQL Server ao qual se associam. Se os tipos de dados forem diferentes, o provedor OLE DB ou o driver ODBC converterão os dados quando forem movidos. O conjunto de conversões com suporte no provedor OLE DB ou driver ODBC é especificado na documentação do provedor ou driver.