Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Ein einfacher Query Analyzer

Geschrieben von: Christian Holm
Kategorie: Datenbank

Der heutige Artikel befaßt sich mit einem altbekannten Thema - SQL Statements. Hierbei wird aber nicht auf die einzelnen SQL Statements eingegangen, sondern wie man sich ein ASP Formular codet, in dem man bequem Statements eingeben kann, und dann eine dementsprechende Ausgabe erhält.

Das Formular sollte die Möglichkeit bieten, ein beliebiges SQL Statement einzugeben. Nach einem erfolgten Postback sollte anhand der Eingabe das Statement ausgeführt werden, und falls möglich ein Ergebnis angezeigt werden. Den Sourcecode zu diesem Beispiel finden Sie im Download in der Datei ExSQL.asp.

Das Eingabeformular enthält keine Stolpersteine:

<form method="post">
<table cellpadding="2" cellspacing="2" border="0">
  <tr>
     <td valign="top">SQL Statement:</td>
     <td>  
       <textarea name="txtSQLStmt" rows="8" cols="60"><%=strSQLStmt%>
       </textarea>
     </td>
  </tr>
  <tr>
      <td colspan="2" align="right"><input type="submit" value="Execute"></td>
  </tr>
</table>
</form>

Interessanter hingegen ist der eigentliche Sourcecode. Damit dieser etwas mehr Komfort bzw. Sicherheit bietet, habe ich zusätzlich eine Fehlerbehandlung integriert. Gehen wir also den Sourcecode schrittweise durch:

If bIsPostback Then
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open strConn
    
    On Error Resume Next
    Set objRS = objConn.Execute(strSQLStmt)

    If Err.Number <> 0 Then
      Response.Write "<p>Fehler bei der Ausführung des SQL Statements:<br><b>"
      Response.Write Err.Source & ", " & Err.Description & "</b></p>"
    Else

Dieser Teil wird ausgeführt, wenn ein PostBack stattgefunden hat. Die Variable bIsPostback wurde so vorher mit

bIsPostback = CLng(Request.ServerVariables("CONTENT_LENGTH"))

zugewiesen. Nach der Instanzierung des Connection Objektes und Öffnung der Verbindung zur Datenbank (als Beispiel wurde hier die Northwind Datenbank hardcodiert) beginnt die Fehlerbehandlung. Falls die Number Property des Err Objektes ungleich 0 ist, ist ein Fehler aufgetreten. Dieser wird dann mit den Properties Source und Description beschrieben.

Da die Execute Methode eine interessante Fehlerquelle darstellt, ist diese in der Fehlerbehandlung natürlich miteinbezogen. Als nächstes folgt die Alternativbedingung der If-Verzweigung, die ausgeführt wird wenn kein Fehler aufgetreten ist:

Response.Write "<table cellpadding=""2"" cellspacing=""2"" border=""2"">"
  For FieldIndex = 1 To objRS.Fields.Count - 1
     Response.Write "  <th>" & objRS.Fields(FieldIndex).Name & "</th> "
  Next

  While Not objRS.EOF
    Response.Write "<tr>"
    For FieldIndex = 1 To objRS.Fields.Count - 1
        Response.Write "<td>" & objRS(FieldIndex) & "</td>"
    Next
  
    Response.Write "</tr>"
    objRS.MoveNext
  Wend
  
  Response.Write "</table>"

Dieser Code z.B. erlaubt es unabhängig von der vorhandenen Spaltenzahl einer Datenbank des eingegebenen SELECT Statements alle Datensätze zurückzugeben die der Bedingung im Statement genügen. Zwecks der Übersicht werden die gewonnenen Datensätze in einer HTML Tabelle ausgegeben.

Ausgeführt in einem Browser erhält man nach Eingabe eines SQL-Statements folgendes Ergebnis:

Es funktionieren nicht nur SELECT Statements - auch DELETE oder INSERT können ohne Probleme in diesem "Query Analyzer" abgesetzt werden.

Schlußbemerkung

Dies war ein einfaches, erweiterbares Beispielskript, das den praktischen Zweck des Query Analyzers des SQL Servers auf ASP Basis widerspiegelt.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Aktualisieren von Daten mit dem UPDATE Statement
Das SQL Join Statement
Datensätze mit dem DELETE Statement löschen
Die SQL ORDER BY Clause
Einfügen eines Datensatzes mit dem INSERT Statement
Query Express für MSDE
Stored Procedures einfach erstellt
Yet Another Access Database Administration Tool

Links zu anderen Sites

Aktuelle MDAC (ADO) Versionen

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.