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.