Empfohlen: Verwenden Sie SQL-DMO, um Backup- und Überprüfungs-ASP-Anwendungen zu erstellen SQL-DMO (SQL Distributed Management Objects (SQL-DMO)) bietet Entwicklern Methoden, um normale Aufgaben mithilfe von Programm- und Skriptsprachen auszuführen und so die Funktionalität des SQL-Servers zu erweitern. Dieser Artikel spricht darüber, wie SQL-DMO geschickt verwendet werden kann, um zu erstellen
1. Wählen Sie Anweisung
In der SQL -Welt ist die grundlegendste Operation die Auswahlanweisung. Wenn Sie SQL direkt unter dem Datenbank -Tool verwenden, sind viele Personen mit den folgenden Vorgängen vertraut:
| Das Folgende ist der zitierte Inhalt: Wählen Sie was aus, was Von dem, was Tobel Wo Kriterien |
Durch Ausführen der obigen Anweisung wird eine Abfrage erstellt, die ihre Ergebnisse speichert.
Bei ASP -Seitendateien können Sie auch die oben genannte allgemeine Syntax verwenden, die Situation ist jedoch etwas anders. Beim Programmieren von ASP sollte der Inhalt der Auswahlanweisung einer Variablen als Zeichenfolge zugewiesen werden:
| Das Folgende ist der zitierte Inhalt: SQL = Wählen Sie aus welchem Where -Where -Kriterien ausgewählt werden |
Okay, ich verstehe, wie SQL unter ASP spricht, und mache es dann genauso. Solange Sie Ihren Anforderungen entsprechen, können der herkömmliche SQL -Query -Modus und die bedingte Abfrage nützlich sein.
Sie können beispielsweise auch davon ausgehen, dass in Ihrer Datenbank eine Datentabelle vorhanden ist, nämlich Produkte, und jetzt möchten Sie alle Datensätze in dieser Tabelle abrufen. Dann haben Sie den folgenden Code geschrieben:
| Das Folgende ist der zitierte Inhalt: SQL = Select * aus Produkten |
Die Funktion der obigen Code-SQL-Anweisung besteht darin, alle Daten in der Tabelle abzurufen. Nach der Ausführung werden alle Datensätze in der Datentabelle ausgewählt. Wenn Sie jedoch nur eine bestimmte Spalte aus der Tabelle entfernen möchten, z. B. p_name. Dann können Sie den * Wildcard -Charakter nicht verwenden. Sie müssen den Namen einer bestimmten Spalte eingeben, und der Code lautet wie folgt:
| Das Folgende ist der zitierte Inhalt: SQL = Wählen Sie P_Name aus Produkten aus |
Nach Ausführung der obigen Abfrage werden alle Inhalte in der Produkttabelle und in der Spalte P_Name ausgewählt.
2. Stellen Sie die Abfragebedingungen für die Klausel fest
Wenn Sie beispielsweise nur vorhaben, die P_Name -Datensätze herauszunehmen und die Namen dieser Aufzeichnungen mit dem Buchstaben W gestartet werden, müssen Sie die folgende Where -Klausel verwenden:
| Das Folgende ist der zitierte Inhalt: SQL = P_NAME aus Produkten auswählen, wobei p_name wie 'w%' mögen |
Auf das WO -Keyword folgt die Bedingungen, die zum Filtern von Daten verwendet werden. Mit Hilfe dieser Bedingungen werden nur Daten, die bestimmten Standards entsprechen, abfragt. Im obigen Beispiel erhält das Abfrageergebnis nur einen P_Name -Datensatz, wobei der Name mit w beginnt.
Im obigen Beispiel bedeutet das prozentuale Symbol (%), dass die Abfrage alle Datensatzeinträge zurückgibt, die mit W -Buchstaben beginnen und von Daten oder sogar keine Daten folgen. Bei der Ausführung der obigen Abfrage werden west und weiden aus der Produkttabelle ausgewählt und in der Abfrage gespeichert.
Wie Sie sehen können, entwerfen Sie einfach die ausgewählte Anweisung sorgfältig, Sie können die Anzahl der im Datensatz zurückgegebenen Informationen einschränken, und das Denken wird immer Ihren Anforderungen entsprechen.
Dies ist nur der Beginn der Beherrschung der SQL -Verwendung. Um die Verwendung komplexer Auswahlanweisungen nach und nach zu helfen, schauen wir uns die wichtigsten Standardbegriffe an: Vergleichsbetreiber. Diese Dinge werden häufig verwendet, wenn Sie Ihre eigenen ausgewählten Zeichenfolgen erstellen, um bestimmte Daten zu erhalten.
Wo Klausel Grundlagen
Wenn Sie anfangen, eine Where -Klausel zu erstellen, besteht die einfachste Möglichkeit, Standardvergleichsymbole zu verwenden, die <, <=,>,> =, <> und = sind. Offensichtlich werden Sie bald die Bedeutung und spezifische Ergebnisse des folgenden Code verstehen:
| Das Folgende ist der zitierte Inhalt: Wählen Sie * aus Produkten, wobei P_PRICE> = 199.95 Wählen Sie * aus Produkten, bei denen P_PRICE <> 19.95 Wählen Sie * aus Produkten, wobei p_version = '4' |
Hinweis: Hier werden Sie feststellen, dass die Nummer 4 im letzten Beispiel von einzelnen Zitaten umgeben ist. Der Grund dafür ist, dass in diesem Beispiel 4 eher ein Texttyp als ein numerischer Typ ist.
3.. Vergleichsbetreiber: Like, nicht wie und dazwischen
Der Vergleichsbetreiber gibt den Inhaltsbereich an, für den Daten aus der Tabelle abgerufen werden. Sie können sie verwenden, um Filter zu erstellen, um den Umfang des Datensatzes einzugrenzen, sodass es nur die Informationen speichert, die Sie unter einer bestimmten Aufgabe interessieren.
Sie haben die Verwendung von Like in dem Beispiel gesehen, in dem Sie die Kopfzeile -Aufzeichnung von W oben herausgenommen haben. Die gleiche Determinante ist ein sehr nützliches Symbol. In vielen Fällen können Sie jedoch zu viele Daten bringen. Daher ist es am besten, Ihr Gehirn zu verwenden und mehr darüber nachzudenken, welche Daten Sie erhalten möchten, bevor Sie es verwenden möchten. Angenommen, Sie möchten die SKU -Anzahl von 5 Ziffern herausnehmen, und der Anfang ist 1 und das Ende ist 5, dann können Sie den Unterstrich (_) anstelle des % -Symbols verwenden:
SQL = SELECT * aus Produkten, wobei P_SKU '1___5' mögen
Der Unterstrich repräsentiert jeden Charakter. Wenn Sie also 1___5 eingeben, ist Ihre Suche auf den 5-stelligen Bereich beschränkt, der einen bestimmten Modus erfüllt.
Wenn Sie das Gegenteil tun möchten, finden Sie alle SKU -Einträge, die nicht mit dem 1___5 -Modus übereinstimmen. Dann müssen Sie nur noch nicht dem ähnlichen Beispiel hinzufügen.
ZWISCHEN
Angenommen, Sie möchten Daten innerhalb eines bestimmten Bereichs extrahieren und kennen den Ausgangspunkt und der Endpunkt des Bereichs im Voraus. Dann können Sie das zwischen Justizwort verwenden. Nehmen wir nun an, dass Sie in einer bestimmten Tabelle Datensätze mit einem Bereich zwischen 1 und 10 auswählen möchten. Sie können zwischen wie folgt verwenden:
… Wobei ID zwischen 1 und 10 ID
Oder Sie können vertraute mathematische Beurteilungssätze verwenden:
… Wobei id> = 1 und id> = 10
4. gemeinsame Erklärung
Die SQL -Anweisungen, über die wir bisher gesprochen haben, sind relativ einfach. Wenn sie die Standard -Abfrage zur Standard -Datensatzschleife übergeben können, können diese Aussagen auch einige komplexere Anforderungen erfüllen. Warum müssen Sie sich jedoch an das Grundniveau halten, es einfach auszuprobieren? Sie können einige andere Symbole hinzufügen, z. B. und oder und nicht, um leistungsfähigere Funktionen zu erfüllen.
Die folgende SQL -Anweisung ist ein Beispiel:
| Das Folgende ist der zitierte Inhalt: SQL = SELECT C_FIRSTNAME, C_LASTNAME, C_EMAIL von Kunden, wobei c_email nicht null und c_purchase = '1' oder c_purchase = '2' und c_lastname wie 'a%' ist. |
Mit dem von Ihnen derzeit vorhandenen SQL -Wissen sind die obigen Beispiele nicht schwer zu erklären, aber die obige Erklärung erlaubt Ihnen nicht eindeutig zu erkennen, wie die bedingten Sätze in eine einzige SQL -Anweisung geklebt werden.
Mehrere Zeilenanweisungen
Wenn SQL -Anweisungen nicht leicht zu verstehen sind, können Sie die gesamte Anweisung genauso gut in mehrere Codezeilen zerlegen und dann die verschiedenen Komponenten der Abfrageanweisung basierend auf den vorhandenen Variablen nach und nach hinzufügen und in derselben Variablen speichern:
| Das Folgende ist der zitierte Inhalt: Sql = select c_firstname, c_lastname, c_emailaddress, c_phone SQL = SQL & von Kunden SQL = SQL & WHER C_FIRSTNAME wie 'a%' und c_emailaddress nicht null SQL = SQL & Order by c_lastname, c_firstname |
Nach dem letzten Satz enthält die SQL -Variable die folgende vollständige Auswahlanweisung:
| Das Folgende ist der zitierte Inhalt: Wählen Sie C_firstname, c_lastname, c_emailaddress, c_phone von Kunden, wobei c_firstname wie 'a%' und c_emailaddress no null order nach c_lastname, c_firstname mögen |
Nach dem Zerlegen des gesamten Satzes oben ist es offensichtlich einfacher zu lesen! Beim Debuggen sind Sie möglicherweise eher bereit, ein paar weitere Charaktere zu tippen, um das Programm zu ändern und besser zu lesen. Sie müssen sich jedoch daran erinnern, dass Sie Räume hinzufügen müssen, bevor Sie Zitate schließen oder Zitate geöffnet haben, damit Sie nicht ein paar Wörter zusammenstellen, wenn die Zeichenfolge verbunden ist.
5. Ausführung starten
Nach dem Erlernen der Konstruktion und Verwendung ausgewählter Aussagen ist es Zeit zu lernen, wie man sie benutzt. In den von Ihnen verfügten Datenbank -Tools kann dies bedeuten, dass Sie eine Taste mit dem Wort "Ausführung" drücken müssen. Auf einer ASP -Webseite können SQL -Anweisungen sofort ausgeführt oder als gespeicherte Prozedur bezeichnet werden.
Sobald die SQL -Anweisung erstellt wurde, müssen Sie auch versuchen, auf die Abfrageergebnisse zuzugreifen. Offensichtlich ist der Schlüssel hier ASP -Datensatz. Um das Beste aus Ihren SQL -Fähigkeiten zu nutzen, mit denen Sie vertraut sind, müssen Sie die Datensätze anpassen, die am häufigsten auf regulären ASP -Webseiten verwendet werden:
| Das Folgende ist der zitierte Inhalt: Dim Rs Setzen Sie rs = server.createObject (adodb.Recordset) Rs.open SQL, Conn, 1,2 |
Hier ist Conn die Datenbankverbindungserklärung, und die einzige Änderung besteht darin, eine Variable zu verwenden, die die SQL -Anweisung enthält, um den Namen der zu befragten Datentabelle zu ersetzen.
Einer der Vorteile dieses Ansatzes ist, dass Sie den Cursortyp angeben können (wie in 1 und 2 oben gezeigt).
SQL ausführen
Sie können auch Datensätze über eine kompakte Codezeile erstellen, um SQL -Anweisungen auszuführen. Das Folgende ist die Syntax:
Dim Rs
Setzen Sie RS = Conn.Execute (SQL)
Im obigen Beispiel ist die von Ihnen angezeigte SQL eine Variable, die Sie Ihre eigene SQL -Auswahlanweisung speichern. In dieser Codezeile wird SQL -Anweisungen ausgeführt (oder die Datenbank abfragen), wählt Daten aus und speichert die Daten in RecordSet, im obigen Beispiel, dem Variablen -Rs. Der Hauptnachteil dieses Ansatzes besteht darin, dass Sie nicht den Art des Cursors auswählen können, den Sie verwenden möchten. Stattdessen wird Recordset immer mit einem Vorwärtscursor geöffnet.
Aufgrund von Cursors sind Sie möglicherweise mit zwei Möglichkeiten vertraut, Datensätze zu erstellen. Das direkte Ausführen der Abfrage speichert direkt die Zeit, die ich aufgewendet habe, um Zeichen zu tippen. In diesem Fall müssen Sie jedoch den Standard -Cursor verwenden, der häufig nicht normal funktioniert. Unabhängig davon, welche Methode Sie verwenden, ist der größte Unterschied zwischen beiden nichts anderes als, ob der Code verfeinert wird oder nicht. Ohne zu prüfen, welche Felder Sie erhalten oder welche Standards sind, und unabhängig davon, wie Sie Daten speichern, ist die Verwendung von SQL-Style-Rekordset viel kleiner als das auf ASP geöffnete Standard-Datensatz, ganz zu schweigen von der Einfachheit des Betriebs. Schließlich beseitigen Sie durch Filtern von Daten zeitaufwändige IF-Then-Tests und mögliche Schleifen.
6. Ladenanfrage
Wenn Ihre Abfrage relativ einfach ist, erfordert es nicht viel Aufwand, jedes Mal SQL -Anweisungen von Grund auf neu zu erstellen. Komplexe Abfragen sind jedoch unterschiedlich. Jedes Mal, wenn Sie von vorne anfangen, generieren Sie viele Entwicklungsfehler. Sobald SQL reibungslos läuft, sollten Sie sie besser sparen und bei Bedarf anrufen. Auf diese Weise kann auch eine einfache Abfrage verwendet werden, um die Anweisung der Abfrage jederzeit zu speichern.
Nehmen wir an, Sie müssen Ihr Team einmal pro Woche an die aktuellen Probleme mit der Geschäftserhaltung berichten, die aus Ihrer Datenbank ausgewählt werden müssen, und Datensätze sollten nach Datum ausgewählt und nach der Kategorie der von Ihnen verwendeten Support -Probleme sortiert werden. Warum müssen Sie sie einmal pro Woche später umschreiben, sobald Sie diese Abfrage entworfen haben? Erstellen Sie keine Abfragen auf Ihrer HTML -Seite. Sie sollten Abfragen mit Ihren Datenbank -Tools erstellen und speichern. Anschließend können Sie die ActiveCommand -Eigenschaft verwenden, um die Abfrage in Ihre ASP -Seite einzufügen. Sie können es in den ersten ein oder zwei erste bedeutungslos finden, aber tatsächlich sind es nur ein paar Codezeilen:
| Das Folgende ist der zitierte Inhalt: Setzen Sie OBJSQ = Server.CreateObject (adodb.Command) OBJSQ.ACTIVECONNECTION = Datenbankname OBJSQ.Commandtext = StoredQueryName OBJSQ.CommandType = ADCMDStoredProc Setzen Sie objrec = objsq.execute |
Beachten Sie, dass Sie mit ADCMDStoredProc die Adovbs.inc -Datei auf die Seite aufgenommen haben. Diese Datei definiert die Zugriffskonstanten, auf die Sie eher mit Namen als per Nummer zugreifen können. Fügen Sie einfach die Datei auf der Seite ein) und dann können Sie ADCMDStoredProc verwenden. Auf diese Weise wird es einfacher sein, zu verstehen, was die oben genannte gespeicherte Abfrage bedeutet, wenn Sie sie in Zukunft sehen.
7. bestellen von
Wählen Sie die ekelhaftesten Dinge aus der Zugriffsdatenbank aus und sie werden in der Reihenfolge, in der sie eingegeben werden, in die Datenbank eingegeben. Selbst wenn Sie Sortier in der Zugriffsumgebung verwenden, um die Datensatzansicht zu ändern, hat sich die Reihenfolge der Datensätze in der Datentabelle nicht geändert.
Wenn Sie ASP -Datensatz verwenden, um Datensätze auf einer Webseite zu schreiben, wissen Sie möglicherweise, wie schmerzhaft es ist, in das Chaos zu gelangen. Möglicherweise müssen Sie sich diesem Problem jedoch häufig stellen, da es keine einfache und bequeme Lösung gibt. Glücklicherweise kann die Bestellung durch dieses Problem vereinfachen.
Um Ihre Ergebnisse zu sortieren, fügen Sie einfach die Bestellung zum Ende der Auswahlanweisung hinzu und geben Sie die Referenzspalte an, die Sie sortieren müssen. Wenn Sie also die Kundentabelle nach dem Nachnamen des Kunden sortieren möchten, können Sie die folgende Abfrageanweisung schreiben:
SQL = Wählen
So lange Sie ein Datensatz erstellen und die Ergebnisse auf den Bildschirm schreiben, werden Sie feststellen, dass die Daten alphabetisch angeordnet sind.
Im Folgenden finden Sie die Operationen auf der Tabelle:
Kopieren Sie nur die Struktur von Tabelle A nach Tabelle B (keine Kopierdaten)
| Das Folgende ist der zitierte Inhalt: SQL = SELECT * in B aus a WHERE 1 <> 1 SQL = SELECT * in B aus a where 1 = 0 |
Kopieren Sie die Struktur und die Daten von Tabelle A nach Tabelle B
| Das Folgende ist der zitierte Inhalt: sql = auswählen * in b aus a |
Aktien: ASP 3.0 Advanced Programing (45) Die asynchrone Ausführung bezieht sich auf das Abrufen von Daten im Hintergrund, und die von Ihnen erhaltenen Daten können auf der Webseite verwendet werden, bevor alle Daten zurückgegeben werden. Obwohl möglicherweise alle Daten benötigt werden, können asynchrone Arbeiten mindestens im Voraus mit der Verarbeitung von Daten beginnen. Es kann auch Benutzern ermöglichen, zuerst bestimmte Inhalte zu sehen, wodurch die Website hergestellt wird