Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de ASP
SEÇÕES
Manuais relacionados
+Workshop de ASP
Categorias
+Scripts em ASP

Índice do Manual Workshop de ASP
+ Melhorar o registro em buscadores
+ Include. Incluir arquivos ASP
+ Crie seu próprio buscador
+ O objeto RecordSet
+ Paginar resultados em ASP
+ Global .ASA
+ Contar usuários ativos
+ Percorrido arrays e coleções
+ Mais sobre cookies
+ Detector de navegador
+ Trabalho com o buffer da página
+ Utilização ou não do Cache
+ Objeto Server
+ Leitura e escritura de arquivos em ASP
+ Cálculo de dias que faltam para uma data
+ Componentes do servidor ASP
+ AspUpload
+ Exportar dados de MySQL a Microsoft Access
+ Exportar dados de Access a MySQL
+ Mandar e-mails pelo ASP
+ Criar banco de dados Access com ASP
+ Passagem de variáveis pela URL
+ Uso de CDONTS para script de recomendar a um amigo em ASP
+ Servidores nos EUA e o asp
+ Como fazer zonas aleatórias em asp
+ Selects dependentes com ASP e banco de dados
+ Sistema de Recomendação em ASP com CDONTS
+ Encaminhar o navegador a uma URL com ASP detalhado
+ Uso de cookies
+ Galeria de imagens em ASP
+ Escrever um arquivo Excel através de ASP
+ Tratar erros em sentenças SQL executadas em ASP
+ Validar uma data com ASP
+ Arredondar decimais em ASP
+ Devolver um arquivo de Word através de uma página ASP
+ Um Chat em ASP
+ Averiguar o endereço IP de um visitante e bloquear IPs, em ASP
+ Lista dos arquivos de um diretório com ASP
+ Percorrido genérico por um recordset com ASP
+ Intranets com ASP
+ Restringir o acesso a páginas com ASP
+ Saídas em formato compatível Excel
+ Variáveis de servidor em ASP
+ GeoLite Country para ASP. Conhecer o país de um IP
+ Um Sistema de postais Virtuais em ASP I
+ Um Sistema de postais Virtuais em ASP II
+ Messenger através de BD em ASP
+ Objeto Datagrid de ASP.NET em ASP
+ Percorrer campos de formulário complexos em ASP
+ Percorrer valor do campo auto-numérico depois de inserir em ASP
+ O Objeto Browser Capabilities
+ Buscador simples em ASP melhorado

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Percorrer valor do campo auto-numérico depois de inserir em ASP

Ao fazer uma inserção de um registro em uma tabela, se o identificador for auto-numérico, geralmente não sabemos qual terá sido. Aqui ensinamos a obter o identificador depois da inserção.


Quando em um banco de dados temos duas tabelas relacionadas com uma relação um a vários, a chave primária da tabela com cardinalidade 1 se encontra na tabela com cardinalidade n como chave forasteira. Normalmente as chaves primárias costumam utilizar campos de tipo auto-incremento.

O presente artigo detalha como averiguar o valor que se atribui à chave primária em uma operação de inserção, para desta maneira poder introduzir registros na tabela relacionada que conta com a chave forasteira.

Para o exemplo, utilizaremos as seguintes tabelas:

Tabelas utilizadas no exercício


À princípio vamos supor que temos um novo pedido para o qual temos que adicionar vários detalhes. Neste suposto, necessitamos inserir primeiro o pedido, recolher o valor que o banco de dados lhe atribuiu ao campo IdPedido, e a seguir inserir os diferentes detalhes com esse valor de IdPedido.

Para fazer isto, vamos utilizar um objeto recordset:

Dim rspedidos
Set rspedidos=Server.CreateObject("ADODB.Recordset")


A seguir abrimos o Recordset:

With rspedidos
    .open "Pedidos" ,adOpenDynamic, AdLockOptimistic,adCmdTableDirect


adOpenDynamic: Cursor que não tem um conjunto único de registros, e no que as mudanças serão visíveis no recordset.
AdLockOptimistic: O registro não se bloqueia até que não se inseriram os dados
adCmdTableDirect: serve para indicar o nome da tabela

A combinação de cursor, tipo de bloqueio e se o campo estiver indexado ou não faz com que possamos percorrer o campo ID, outras combinações podem não funcionar.

A seguir, criamos um novo registro, e inserimos nos valores dos campos:

    .AddNew
       .Fields("idcliente")=16
       .Fields("cargo")=500
       .Fields("destinatario")="pepe"


Uma vez introduzidos todos os valores dos campos, se atualiza o recordset.

    .update

E a seguir, tiramos o ID que o banco de dados lhe atribuiu:

    MiID= .Fields("IdPedido")
End With


Agora contamos com uma variável meuID que nos permite fazer os inserts correspondentes no banco de dados, assim como recordsets ou com sentenças sql do tipo Insert Into.

Nota: Vimos como inserir registros em ASP, porém até agora sempre havíamos explicado outro método, consistente em construir a sentença SQL para a inserção e ejecutando-a por meio do método execute() do objeto connection. Podemos ver esse tipo de inserções no artigo Creação de um novo registro

Código completo:

Dim rspedidos
Set rspedidos=Server.CreateObject("ADODB.Recordset")
With rspedidos
    .open "Pedidos" ,adOpenDynamic, AdLockOptimistic,adCmdTableDirect
    .AddNew
       .Fields("idcliente")=16
       .Fields("cargo")=500
       .Fields("destinatario")="pepe"
   .update
    MiID= .Fields("IdPedido")
End With

Nota: Pode ser que nosso sistema não tenha declaradas as variáveis do sistema do tipo adOpenDynamic, AdLockOptimistic ou adCmdTableDirect. Para que fiquem definidas devemos incluir o arquivo "adovbs.inc".

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de ASP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Scripts em ASP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites