Recomendado: no ASP, ele implementa dados de exportação do banco de dados DBF para a tabela SQL Descrição: A estrutura do banco de dados DBF deve ser consistente com a tabela SQL. A seguir, é apresentado o conteúdo de referência: <% Dim ConnDBF_DBF, driver_dbf, sourcetype_dbf, dbpath_dbf dim conn_
8.4.3 Criando um conjunto de registrosÉ muito fácil criar um conjunto de registros, que é alcançado chamando o método aberto do objeto RecordSet:
RecordSet.open [Source], [ActiveConnection], [Cursortype], [LockType], [Opções]
Os parâmetros e descrições são mostrados na Tabela 8-3:
Tabela 8-3 Parâmetros e descrições do método aberto
parâmetro
ilustrar
Fonte
Fonte de dados. Pode ser um nome de tabela no banco de dados, uma consulta ou procedimento armazenado, uma sequência SQL, um objeto de comando ou outro objeto de comando adequado para o provedor
ActiveConnection
A conexão usada pelo conjunto de registros. Pode ser uma string de conexão ou um objeto de conexão aberto
Cursortype
O tipo de cursor usado. Deve ser um dos tipos de cursor definidos, o valor padrão é adformado
LockType
O tipo de bloqueio usado. Deve ser um dos tipos de bloqueio definidos, o valor padrão é adlockReadonly
Opções
Diga ao provedor qual é o conteúdo do parâmetro de origem, como tabelas, seqüências de texto, etc.
Por exemplo, para abrir o conjunto de registros na tabela de autores nos pubs de banco de dados:
Dim Rsauthores
Set rsauthors = server.createObject (adodb.recordset)
RSAuthors.open autores, Strconn
'Faça algo aqui
rsauthors.close
Defina rsauthores = nada
Observe que existem vários parâmetros que não são especificados. De fato, todos os parâmetros são opcionais e você pode definir os valores de propriedade correspondentes para o conjunto de registros antes de abri -los:
Dim Rsauthores
Set rsauthors = server.createObject (adodb.recordset)
Com RSAuthores
.Source = Autores
.ActiveConnection = strConn
.Cursortype = adoenforwardonenly
.Locktype = adlockReadonly
.Abrir
Termine com
'Faça algo aqui
rsauthors.close
Defina rsauthores = nada
Depois que o conjunto de registros é aberto, o ponteiro atual está localizado automaticamente no primeiro registro. Se não houver registro no conjunto de registros, os atributos EOF e BOF serão verdadeiros:
RSAuthors.open autores, Strconn
Se rsauthors.bof e rsauthors.eof então
'RecordSet está vazio
Final se
1. Parâmetro de opções
O parâmetro de opções do método aberto permite especificar o conteúdo do texto do comando. Pode ser uma das seguintes constantes de commandTypeenum:
ADCMDTEXT: Comandos de texto, como SQL Strings.
adcmdtable: nome da tabela.
ADCMDStoredProc: Nome do procedimento armazenado.
ADCMDFILE: o nome do arquivo do conjunto de registros salvos.
adcmdtabledirect: nome da tabela.
adcmdurlbind: endereço de URL.
A diferença entre adcmdtable e adcmdtabledirect é muito pequena. Se você deseja usar todas as colunas em uma tabela, o uso do ADCMDTableDIRECT tornará a corrida mais rápida porque o ADO executa algumas otimizações internas.
Se nenhum tipo de comando for especificado, o ADO deverá calcular o tipo de comando executado, o que resultará em despesas gerais adicionais.
Existem mais duas opções aqui: adcmdUnSpecificada significa que não há tipo especificado; adcmdunknow significa que o tipo de comando é desconhecido. Eles não podem ser usados em geral.
Opções adicionais
O parâmetro de opções pode ser qualquer uma das constantes acima, mas as seguintes constantes executivas também podem ser adicionadas:
adasyncexcute: execute comandos de forma assíncrona.
AdAsyncFetch: Após obter o conjunto inicial de linha, obtenha as linhas restantes de forma assíncrona.
AdAsyncFetchBlock: exceto para obter registros e não impedir que o comando seja executado, os outros são semelhantes ao AdasyncFetch.
ADexechtenReCords: O comando retorna nenhum registro.
Processamento assíncrono significa que as operações são executadas em segundo plano, você pode executar comandos e continuar outro trabalho sem esperar que eles concluam (operação síncrona). Isso é particularmente conveniente ao criar uma interface do usuário, pois pode ser retornada da execução do comando para exibir algum conteúdo para o usuário enquanto a aquisição de dados ainda está em segundo plano. Isso não é muito útil para os programadores ASP ao retornar os registros, porque o idioma de script não suporta eventos ADO, portanto, não se sabe quando o conjunto de registros concluiu a mudança de preenchimento. Ao processar a atualização, excluir ou inserir comandos de dados e não retornar um conjunto de registros, operações assíncronas podem ser usadas, ou seja, somente se você não se importa com os resultados.
Por outro lado, a opção AdexecutenOrecords é muito útil. Ele diz a ADO para executar comandos que não retornam nenhum dado. Portanto, não há necessidade de criar um conjunto de registros (talvez vazio em resumo). Isso acelera as operações de consulta para atualizações ou adições de dados.
Para adicionar uma dessas opções, você pode usar o símbolo OR (equivalente ao sinal de mais)
ADCMDStoredProc ou AdexecutenOrecords
ADCMDSTOREPROC ADEXECONDENORECORDS
No próximo capítulo, você verá uma introdução mais detalhada ao conteúdo relacionado, pois isso será mais útil ao lidar com comandos (em vez de conjuntos de registros).
2. Mova -se no conjunto de registros
Depois que um conjunto de registros é aberto, geralmente é necessário atravessar cada registro. Isso requer o uso do atributo EOF. Quando o final do conjunto de registros é alcançado, o EOF se torna verdadeiro, porque um loop pode ser criado assim:
RSAuthors.open autores, Strconn
Embora não seja RSAuthors.eof
Response.Write Rsauthors (Au_lName :) &, & _
RSAuthors (AU_FNAME) & <BR>
rsauthors.movenext
Wend
O exemplo acima é lançado até que o atributo EOF seja verdadeiro antes de sair. O método MoveNeNext é usado para passar para o próximo registro.
Se o conjunto de registros permitir um movimento reverso, você poderá usar o método MovePrevious. Nesse caso, o valor do atributo BOF precisa ser detectado no loop. Também existem métodos de movimentação e movelast que se movem para o primeiro e último registros, respectivamente:
RSAuthors.open autores, strconn, adoendynamic
'Agora, no primeiro registro
rsauthors.movelast
'Agora, no último recorde
rsauthors.moveprevious
rsauthors.moveprevious
'Agora três linhas do final do registro
rsauthors.movefirst
'De volta ao começo de novo
3. Use coleções de campos
A coleção Fields contém objetos de campos para cada campo (coluna) no conjunto de registros. A coleção Fields é a coleção padrão de registros, para que possa ser omitida ao acessar campos, como no tempo ... o exemplo acima. Portanto, existem várias maneiras de acessar campos:
rsauthors.fields (Au_lname) .Value
RSAuthores (Au_lname) .Value
RSAuthores (1) .Value
rsauthors.fields (1) .Value
Você pode usar o nome do campo ou usar seus bits na coleção
Compartilhar: ASP implementa o envio de notificações por e -mail ao enviar formulários ao banco de dados A seguir, o conteúdo citado: <% Dim ObjcDomail Conjunto objcDomail = server.createObject (cdonts.newmail) objcDomail.from = xxx@h