# Datenbankabfrage mittels VBScript



## Hawkings (30. Oktober 2007)

Hi @ all,

mein Problem liegt in folgendem Code...

```
'Variablen erstellen
Dim rs, strPfadDB, SQL1,SQL2

'DB-Treiber und Pfad erstellen
strPfadDB = "DRIVER={Microsoft Access-Treiber (*.mdb)};UID=admin;PWD=;"	

'Treiber für Datenbankanbindung / IP Server
strPfadDB = strPfadDB & "DBQ=" & Server.MapPath("db\Test.mdb")

'Recordset erstellen, benötigt für arbeiten mit Daten und für Übertragung der SQL- und ADO-Anweisungen
set rs = Server.CreateObject("ADODB.Recordset")

'SQL-Anweisung erstellen
SQL1 = "select count(*) as anzahlopen from dba.blablabla where state = '0'"

'Verbindung zur DB herstellen, SQL-Anweisung ausführen.
rs.Open SQL1,strPfadDB,0,1			'öffnet Datenbank, stellt Verbindung her, Cursortype(ForwardOnly) / Locktype(Standard)

WScript.Echo "Wert: "& rs.Fields("anzahlopen").Value	'Ausgabe des Ergebnisses des SQL-Befehls

'Recordset schliessen und vernichten.
rs.Close
set rs = nothing
```

Zur kurzen Erklärung, was dieses Skript soll...
Auf der Datenbank (ODBC) soll mithilfe des Skripts ein bestimmter Wert mittels eines SQL-Befehls abgefragt werden. Dieser soll mir einen Wert zurückliefern, denn ich anschließend in einer simplen If-Schleife entsprechend verarbeiten kann...
Ist er zu hoch, wird eine Mail an den Administrator versandt, dass ist jedoch nicht das Problem.

Meine Fragen hierzu sind:
a)	Wie komme ich an den Pfad des Treibers, hier in meinem Code habe ich hierfür ein Beispiel, jedoch keine Ahnung, wo ich den Pfad herbekomme, eine Anleitung hierfür wäre nicht schlecht ?
b)	Kriege ich beim Ausführen, bzw. Öffnen der Verbindung zur Datenbank mit Übergabe des SQL-Befehls einen Rückgabewert geliefert? Wie bekomme ich denn, wenn nicht mittels des VBS-Befehls: „rs.Fields(„anzahlopen“).Value“ ?!
Bzw. geht das überhaupt so, wie ich es im Code habe? Mit Datenbanken habe ich bis jetzt noch keine Erfahrungen gemacht…me<-Booon^2

Gruß und thx


----------

