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