Recomendado: ASP implementa o fim do título longo com uma elipse Extrair artigos longos do banco de dados sempre dificulta o layout da página da web. Então, eu quero extrair uma parte dos caracteres fixamente, e depois há ... um substituto depois. 1. Princípio: determine se o comprimento do artigo excede o comprimento especificado. Se exceder o comprimento especificado, apenas o especificado será exibido.
Muitos programadores da ASP tiveram a experiência de executar consultas de banco de dados e, em seguida, exibir os resultados da consulta em tabelas HTML. Normalmente fazemos isso:
| A seguir, o conteúdo citado: <% 'Criar conexão / conjunto de registros 'Preencha os dados no objeto RecordSet %> <Tabela> < % Fazem enquanto não é rs.eof %> <tr> <td> <% = rs (campo1)%> </td> <Td> <% = rs (Field2)%> </td> . </tr> <% rs.movenext Loop %> </Tabela> |
Se houver muitos resultados de consulta, o servidor levará muito tempo para explicar seu script ASP, porque há muitas respostas. Se você colocar toda a saída resultar em uma string longa (de <table> a </bast>), o servidor interpretará apenas as instruções Response.Write e será muito mais rápido. Alguns caras capazes da Microsoft transformaram suas idéias em realidade. (Observe, este é um recurso que apenas ADO 2.0 ou superior. Se você ainda estiver usando a versão anterior, atualize para a versão mais recente)
Com o método GetString, podemos usar apenas uma resposta.Write para exibir todas as saídas, o que é como um loop de fazer ... que pode determinar se o conjunto de registros é EOF.
O uso do getString é o seguinte (todos os parâmetros são opcionais):
String = RecordSet.getString (StringFormat, NumRows, ColumnDelimiter, RowDelimiter, Nullexpr)
Para gerar uma tabela HTML a partir do resultado do registro, precisamos apenas nos preocupar com 3 dos 5 parâmetros do getString:
ColumnDelimiter (código HTML que separa as colunas do conjunto de registros), RowDelimiter (código HTML que separa linhas do conjunto de registros) e NuLlexPR (código HTML que deve ser gerado quando o registro atual estiver vazio). Como você pode ver no exemplo de geração da tabela HTML abaixo, cada coluna é separada por <td> ... </td> e cada linha é separada por <tr> ... </tr>. Vamos dar uma olhada no código do exemplo.
| A seguir, o conteúdo citado: < %@ Idioma = vbscript %> <% Da opção explícita 'boa técnica de codificação 'Estabeleça conexão com o banco de dados Dim Conn Definir Conn = Server.CreateObject (Adodb.Connection) Conn.Open dsn = Northwind; 'Crie um conjunto de registros Dim Rs Set rs = server.createObject (adodb.recordset) Rs.Open Select * da Tabela1, Conn 'Armazene nossa única corda Dim Strtable strtable = rs.getString (,, </td> <td>, </td> </tr> <tr> <td> ,) %> <html> <Body> <Tabela> <tr> <td> < % Response.write (strtable) %> </tr> </td> </Tabela> </Body> </html> <% 'Limpar! rs.close Definir rs = nada Conn.Close Defina conn = nada %> |
A string strtable é usada para armazenar o código que geramos a partir do resultado da tabela HTML de selecionar * da Tabela1.
Haverá </td> <td> Código HTML entre cada coluna da tabela HTML, e o código HTML entre cada linha é </td> </td> <tr> <td>. O método GetString gera o código HTML correto e o armazena no STRTABLE, para que precisemos apenas de uma linha de resposta.Write para produzir todos os registros no conjunto de dados. Vamos dar uma olhada em um exemplo simples, assumindo que nossos resultados de consulta retornem as seguintes linhas e colunas:
| A seguir, o conteúdo citado: COL1 COL2 COL3 Row1 Bob Smith 40 Row1 Ed Frank 43 LOW1 Sue Void 42 |
Em seguida, a sequência retornada pela declaração GetString será:
| A seguir, o conteúdo citado: Bob </td> <td> Smith </td> <td> 40 </td> <td> </td> </td> </tr> <tr> < TD > Ed ... |
Para ser sincero, essa string parece longa e confusa, mas é o código HTML que queremos. (Observe que, no código HTML manuscrito, colocamos <tabela> <tr> <td> na frente da resposta.
Compartilhar: erros e soluções comuns em chamadas de banco de dados no ASP A seguir, alguns erros nas chamadas de banco de dados em programas ASP que geralmente são encontrados durante a manutenção da máquina virtual. Agora o coletamos e organizamos da seguinte maneira: não podemos abrir a palavra -chave do registro (8007000E) Microsoft OLE DB Provedor para ODBC Drivers Erro '8007000E' [microfone