Compartilhar via


Função JetSetColumns

Aplica-se a: Windows | Windows Server

Função JetSetColumns

A função JetSetColumns é semelhante no comportamento de JetSetColumn , mas permite que um aplicativo defina vários valores de coluna em uma única operação. Uma matriz de estruturas JET_SETCOLUMN é usada para descrever o conjunto de valores de coluna a serem definidos e para descrever buffers de entrada para cada valor de coluna a ser definido.

    JET_ERR JET_API JetSetColumns(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in_out_opt  JET_SETCOLUMN* psetcolumn,
      __in          unsigned long csetcolumn
    );

Parâmetros

sesid

A sessão a ser usada para essa chamada.

Tableid

O cursor a ser usado para essa chamada.

psetcolumn

Um ponteiro para uma matriz de uma ou mais estruturas JET_SETCOLUMN . Cada estrutura inclui descrições de qual valor de coluna definir e de onde obter dados de coluna a serem definidos.

csetcolumn

O número de estruturas JET_SETCOLUMN na matriz fornecida por psetcolumn.

Valor Retornado

Essa função retorna o tipo de dados JET_ERR com um dos seguintes códigos de retorno. Para obter mais informações sobre os possíveis erros de ESE, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Código de retorno

Descrição

JET_errBadColumnId

A ID da coluna fornecida está fora dos limites legais de uma ID de coluna.

JET_errClientRequestToStopJetService

Não é possível concluir a operação porque todas as atividades na instância associada à sessão cessaram como resultado de uma chamada para JetStopService.

JET_errColumnIllegalNull

O mesmo que JET_errNullInvalid.

JET_errColumnNotFound

A coluna descrita pelo columnid fornecido não existe na tabela.

JET_errColumnNotUpdatable

Foi feita uma tentativa ilegal de atualizar um valor longo durante uma operação de atualização original de exclusão de cópia de inserção.

JET_errColumnTooBig

Os dados de valor de coluna fornecidos no buffer de entrada excedem a limitação de tamanho natural para uma coluna de comprimento fixo ou configurada para texto de comprimento fixo ou colunas binárias. Esse erro também é retornado ao passar mais de 1024 bytes de dados para uma coluna longa e definir o sinalizador JET_bitSetIntrinsicLV.

JET_errInstanceUnavailable

Não é possível concluir a operação porque a instância associada à sessão encontrou um erro fatal que exige que o acesso a todos os dados seja revogado para proteger a integridade desses dados. Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errInvalidBufferSize

O tamanho de dados do valor de coluna fornecido não corresponde ao que é natural para o tipo de dados de comprimento fixo.

JET_errInvalidColumnType

Foi feita uma tentativa ilegal de atualizar uma coluna de incremento automático durante uma operação de inserção ou atualização ou atualizar uma coluna de versão durante uma operação de substituição.

JET_errInvalidgrbit

As opções fornecidas são desconhecidas ou uma combinação ilegal de configurações de bits conhecidas.

JET_errInvalidParameter

O psetinfo-cbStruct> especificado não é um tamanho válido para a estrutura JET_SETINFO .

JET_errMultiValuedDuplicate

A operação definir coluna tentou criar um valor duplicado e especificou JET_bitSetUniqueMultiValues ou JET_bitSetUniqueNormalizedMultiValues.

JET_errNotInitialized

Não é possível concluir a operação porque a instância associada à sessão ainda não foi inicializada.

JET_errNotInTransaction

Foi feita uma tentativa ilegal de atualizar um valor de coluna longa quando a sessão de chamada não estava em uma transação.

JET_errNullInvalid

Foi feita uma tentativa ilegal de definir uma coluna não NULL como NULL.

JET_errRecordTooBig

O valor da coluna não pôde ser definido como o valor no buffer de entrada porque teria feito com que o registro excedesse a limitação de tamanho relacionado ao tamanho da página. Colunas do tipo JET_coltypLongText ou JET_coltypLongBinary podem ser armazenadas separadamente dos dados de registro restantes. No entanto, outras colunas devem ser armazenadas com o registro e podem fazer com que a limitação do tamanho do registro seja excedida. Mesmo colunas longas exigem 5 bytes de espaço dentro do registro como uma vinculação e isso também pode levar a JET_errRecordTooBig ser retornado.

JET_errRestoreInProgress

Não é possível concluir a operação porque uma operação de restauração está em andamento na instância associada à sessão.

JET_errSessionSharingViolation

A mesma sessão não pode ser usada para mais de um thread ao mesmo tempo. Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errTermInProgress

Não é possível concluir a operação porque a instância associada à sessão está sendo desligada.

JET_errUpdateNotPrepared

O cursor não está no processo de inserir um novo registro ou atualizar um registro existente.

JET_wrnColumnMaxTruncated

O valor da coluna no buffer de entrada excedeu o comprimento máximo configurado para uma coluna de comprimento variável e foi truncado.

Em caso de êxito, para cada coluna descrita em psetcolumns, a parte desejada do valor da coluna é definida com os dados copiados do buffer de entrada. O conjunto de dados de coluna poderá ter sido truncado se exceder o comprimento máximo especificado para uma coluna de comprimento variável.

Em caso de falha, o local do cursor fica inalterado e nenhum dado de valor de coluna é atualizado no buffer de cópia.

Comentários

Se qualquer operação de coluna de conjunto individual retornar um erro, toda a operação JetSetColumns retornará um erro. Os avisos, em geral, são retornados no psetcolumns-error> e não no código de retorno dessa função. No entanto, se o último conjunto de colunas tiver um aviso, esse aviso será retornado do próprio JetSetColumns .

Requisitos

Requisito Valor

Cliente

Requer Windows Vista, Windows XP ou Windows 2000 Professional.

Servidor

Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Consulte Também

JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn