Recomendado: Use SQL-DMO para criar aplicativos ASP de backup e verificação Visão geral Os objetos de gerenciamento distribuído SQL (SQL-DMO) fornecem aos desenvolvedores métodos para executar tarefas comuns usando linguagens de programa e script, estendendo assim a funcionalidade do SQL Server. Este artigo fala sobre como usar inteligentemente o SQL-DMO para criar
1. Selecione a instrução
No mundo SQL, a operação mais básica é a instrução SELECT. Ao usar o SQL diretamente sob a ferramenta de banco de dados, muitas pessoas estarão familiarizadas com as seguintes operações:
| A seguir, o conteúdo citado: Selecione o que De Whattable Onde critérios |
A execução da instrução acima criará uma consulta que armazena seus resultados.
Nos arquivos da página ASP, você também pode usar a sintaxe geral acima, mas a situação é um pouco diferente. Ao programar ASP, o conteúdo da instrução SELECT deve ser atribuído a uma variável como uma string:
| A seguir, o conteúdo citado: Sql = selecione o que de qual é o que os critérios |
Ok, eu entendo como o SQL fala sob o ASP e depois faz da mesma maneira. Enquanto você atender às suas necessidades, o modo de consulta SQL tradicional e a consulta condicional podem ser úteis.
Por exemplo, você também pode assumir que existe uma tabela de dados no seu banco de dados, ou seja, produtos, e agora deseja recuperar todos os registros nesta tabela. Então você escreveu o seguinte código:
| A seguir, o conteúdo citado: Sql = selecione * de produtos |
A função da instrução Code-SQL acima é recuperar todos os dados da tabela. Após a execução, todos os registros na tabela de dados serão selecionados. No entanto, se você deseja remover apenas uma coluna específica da tabela, como P_Name. Então você não pode usar o caráter curinga. Você precisa digitar o nome de uma coluna específica, e o código é o seguinte:
| A seguir, o conteúdo citado: Sql = selecione P_Name dos produtos |
Depois de executar a consulta acima, todo o conteúdo da tabela de produtos e a coluna P_NAME serão selecionados.
2. Defina condições de consulta para onde a cláusula
Por exemplo, se você planeja apenas eliminar os registros P_Name, e os nomes desses registros devem ser iniciados com a letra w, você deve usar o seguinte onde a cláusula:
| A seguir, o conteúdo citado: Sql = selecione p_name de produtos onde p_name como 'w%' |
A palavra -chave WHERE é seguida pelas condições usadas para filtrar dados. Com a ajuda dessas condições, apenas os dados que atendem a determinados padrões serão consultados. No exemplo acima, o resultado da consulta receberá apenas um registro p_name com o nome começando com w.
No exemplo acima, o símbolo percentual (%) significa que a consulta retorna todas as entradas de registro que começam com letras w e são seguidas por qualquer dados ou até nenhum dado. Portanto, ao executar a consulta acima, West e Willow serão selecionados na tabela de produtos e armazenados na consulta.
Como você pode ver, basta projetar a instrução SELECT com cuidado, você pode limitar a quantidade de informações retornadas no RecordSet e pensar que mais sempre atenderá aos seus requisitos.
Estes são apenas o começo de dominar o uso do SQL. Para ajudá -lo a dominar gradualmente o uso de instruções de seleção complexa, vamos dar uma olhada nos principais termos padrão: operadores de comparação. Essas coisas são frequentemente usadas quando você constrói suas próprias seqüências selecionadas para obter dados específicos.
Onde cláusula básico
Quando você começa a criar uma cláusula onde, a maneira mais fácil é usar símbolos de comparação padrão, que são <, <=,>,> =, <> e =. Obviamente, em breve você entenderá o significado e os resultados específicos do seguinte código:
| A seguir, o conteúdo citado: Selecione * FROM PRODUTOS WHERE P_PRICE> = 199,95 Selecione * de produtos onde P_PRICE <> 19.95 Selecione * de produtos onde p_version = '4' |
NOTA: Aqui você notará que o número 4 no último exemplo é cercado por citações únicas. O motivo é que, neste exemplo, 4 é um tipo de texto em vez de um tipo numérico.
3. Operadores de comparação: como, não como e entre
O operador de comparação especifica o intervalo de conteúdo para o qual os dados são recuperados da tabela. Você pode usá -los para criar filtros para restringir o escopo do registro, fazendo com que ele salve apenas as informações que você se preocupa em uma determinada tarefa.
Você viu o uso do exemplo no exemplo em que tirou o registro de cabeçalho de W acima. O determinante semelhante é um símbolo muito útil. No entanto, em muitos casos, usá -lo pode trazer muitos dados demais, por isso é melhor usar seu cérebro e pensar mais sobre quais dados você deseja obter antes de usá -los. Suponha que você queira retirar o número de SKU de 5 dígitos, e seu começo é 1 e o final é 5, então você pode usar o sublinhado (_) em vez do símbolo %:
Sql = selecione * de produtos onde p_sku como '1___5'
O sublinhado representa qualquer personagem. Portanto, quando você digitar 1___5, sua pesquisa será limitada ao intervalo de 5 dígitos que satisfaz um modo específico.
Se você quiser fazer o oposto, descubra todas as entradas do SKU que não correspondem ao modo 1___5. Então você só precisa adicionar não ao exemplo do exato da declaração agora.
ENTRE
Suponha que você queira extrair dados dentro de um determinado intervalo e conhecer o ponto de partida e o ponto final do intervalo com antecedência, então você pode usar a palavra entre julgamento. Agora, vamos supor que você deseja selecionar registros com um intervalo entre 1 e 10 em uma determinada tabela. Você pode usar entre as seguintes:
… Onde ID entre 1 e 10
Ou você pode usar frases familiares de julgamento matemático:
… Onde id> = 1 e id> = 10
4. Declaração conjunta
As declarações SQL sobre as quais falamos até agora são relativamente simples. Se eles puderem passar na consulta de loop de registro padrão, essas declarações também podem atender a alguns requisitos mais complexos. No entanto, por que você tem que manter o nível básico de apenas experimentá -lo? Você pode adicionar outros símbolos, como e, ou não, para completar funções mais poderosas.
A seguinte instrução SQL é um exemplo:
| A seguir, o conteúdo citado: Sql = selecione c_firstname, c_lastname, c_email de clientes onde c_email não é nulo e c_purchase = '1' ou c_purchase = '2' e c_lastName como 'a%' |
Com o conhecimento SQL que você possui atualmente, os exemplos acima não são difíceis de explicar, mas a instrução acima não permite claramente que você veja como as frases condicionais são coladas em uma única instrução SQL.
Múltiplas declarações de linha
Se as instruções SQL não forem fáceis de entender, você também pode decompor toda a declaração em várias linhas de código e adicione gradualmente os vários componentes da declaração de consulta com base nas variáveis existentes e armazená -la na mesma variável:
| A seguir, o conteúdo citado: Sql = selecione c_firstname, c_lastname, c_emailaddress, c_phone Sql = sql e de clientes Sql = sql e onde c_firstname como 'a%' e c_emailaddress não nulo SQL = SQL & ORDEM POR C_LASTNAME, C_FIRSTNAME |
Na última frase, a variável SQL contém a seguinte instrução SELECT SELECT:
| A seguir, o conteúdo citado: Selecione C_FIRSTNAME, C_LASTNAME, C_EMAILADDRESS, C_Phone de clientes onde C_FirstName como 'A%' e C_EMAILADDRES |
Depois de decompor toda a frase acima, é obviamente mais fácil de ler! Ao depurar, você pode estar mais disposto a digitar mais alguns caracteres para alterar o programa e lê -lo melhor. Mas você deve se lembrar de que precisa adicionar espaços antes de fechar as cotações ou após abrir aspas, para que não junte algumas palavras quando a string estiver conectada.
5. Comece a execução
Depois de aprender a construção e uso de instruções selecionadas, é hora de aprender a usá -las. Sob as ferramentas de banco de dados que você possui, isso pode significar que você precisa pressionar um botão com a palavra "execução". Em uma página da Web ASP, as instruções SQL podem ser executadas imediatamente ou podem ser chamadas de procedimento armazenado.
Depois que a instrução SQL é criada, você também deve tentar acessar seus resultados de consulta. Obviamente, a chave aqui é o ASP RecordSet. Para aproveitar ao máximo suas habilidades SQL com as quais você está mais familiarizado, você precisa ajustar os registros mais comumente usados em páginas regulares da Web ASP:
| A seguir, o conteúdo citado: Dim Rs Set rs = server.createObject (adodb.recordset) Rs.Open SQL, Conn, 1,2 |
Aqui, Conn é a declaração de conexão com o banco de dados, e a única modificação é usar uma variável que contém a instrução SQL para substituir o nome da tabela de dados a ser consultada.
Uma das vantagens dessa abordagem é que você pode especificar o tipo de cursor (como mostrado em 1 e 2 acima).
Executar sql
Você também pode criar registros usando uma linha compacta de código para executar instruções SQL. A seguir, é a sintaxe:
Dim Rs
Definir rs = Conn.Execute (SQL)
No exemplo acima, o SQL que você vê é uma variável que você armazena sua própria instrução SQL Select. Essa linha de código executa instruções SQL (ou consulte o banco de dados), seleciona dados e armazena os dados no RecordSet, no exemplo acima, a variável Rs. A principal desvantagem dessa abordagem é que você não pode escolher o tipo de cursor que deseja usar. Em vez disso, o RecordSet é sempre aberto com um cursor para a frente.
Por causa dos cursores, você pode estar familiarizado com duas maneiras de criar registros. A execução da consulta economiza diretamente o tempo gasto digitando caracteres, mas nesse caso você deve usar o cursor padrão, que muitas vezes não pode funcionar normalmente. Não importa qual método você use, a maior diferença entre os dois nada mais é do que se o código é refinado ou não. Sem considerar quais campos você obtém ou quais são seus padrões e, independentemente de como você armazena dados, o uso do conjunto de registros no estilo SQL será muito menor do que o conjunto de registros padrão aberto no ASP, sem mencionar a facilidade de operação. Afinal, filtrando os dados, você elimina os testes de consumo de tempo e os possíveis loops.
6. Consulta da loja
Quando sua consulta é relativamente simples, não é preciso muito esforço para criar instruções SQL a partir do zero. No entanto, consultas complexas são diferentes. Toda vez que você começa do zero, você gerará muitos erros de desenvolvimento. Então, uma vez que o SQL funcione sem problemas, é melhor salvá -los e ligar para eles, se necessário. Dessa forma, mesmo uma consulta simples pode ser usada para armazenar a declaração de consulta a qualquer momento.
Suponha que você deva se reportar à sua equipe uma vez por semana para indicar os problemas atuais de suporte comercial, que precisam ser selecionados no seu banco de dados, e os registros devem ser selecionados por data e classificados de acordo com a categoria de problemas de suporte que você está usando. Depois de projetar esta consulta, por que você precisa reescrevê -la uma vez uma semana depois? Não crie consultas na sua página HTML, você deve criar consultas com suas ferramentas de banco de dados e salvá -las. Em seguida, você pode usar a propriedade ActiveCommand para inserir a consulta na sua página ASP. Você pode achá -lo sem sentido no primeiro ou dois, mas na verdade são apenas algumas linhas de código:
| A seguir, o conteúdo citado: Definir objsq = server.createObject (adodb.command) objsq.activeConnection = DatabaseName objsq.CommandText = StoredQueryName objsq.CommandType = adcmdStoredProc defina objrec = objsq.execute |
Observe que o uso do ADCMDStoredProc significa que você incluiu o arquivo Adovbs.inc na página. Este arquivo define as constantes de acesso que você pode acessar por nome e não por número. Basta incluir o arquivo na página) e, em seguida, você pode usar o ADCMDStoredProc. Dessa forma, será mais fácil entender o que a consulta armazenada acima significa quando você a vir no futuro.
7. Ordem por
Selecione as coisas mais nojentas no banco de dados de acesso e elas são inseridas no banco de dados na ordem em que são inseridas. Mesmo se você usar o STELE by no ambiente de acesso para alterar a visualização de registro, a ordem dos registros na tabela de dados não foi alterada.
Se você estiver usando o ASP RecordSet para escrever registros em uma página da web, poderá saber o quão doloroso é entrar na bagunça. Mas você pode ter que enfrentar esse problema com frequência, porque não há solução simples e conveniente. Felizmente, a ordem por pode simplificar esse problema.
Para classificar seus resultados, basta adicionar o pedido ao final da instrução SELECT e especificar a coluna de referência que você precisa classificar. Então, se você deseja classificar a tabela de clientes pelo sobrenome do cliente, pode escrever a seguinte declaração de consulta:
Sql = selecione C_LASTNAME, C_FIRSTNAME, C_EMAIL FRO
Dessa forma, desde que você crie um conjunto de registros e comece a escrever os resultados na tela, você verá que os dados são organizados em ordem alfabética.
A seguir, estão as operações na tabela:
Copie apenas a estrutura da Tabela A a Tabela B (sem dados de cópia)
| A seguir, o conteúdo citado: sql = selecione * em B de A Where 1 <> 1 sql = selecione * em B de A Where 1 = 0 |
Copie a estrutura e os dados da Tabela A a Tabela B
| A seguir, o conteúdo citado: sql = selecione * em B de A |
Compartilhar: ASP 3.0 Programação Avançada (45) A execução assíncrona refere -se à recuperação de dados em segundo plano, e os dados que você obteve podem ser usados na página da web antes que todos os dados sejam retornados. Embora todos os dados possam ser necessários, o trabalho assíncrono pode começar a processar os dados pelo menos com antecedência. Também pode permitir que os usuários vejam certos conteúdos primeiro, o que torna o site