Beispiel 9
Beispiel 1
Mit diesem Skript lesen Sie den ersten Datensatz in
der Spalte "Productname" von der Datenbank "Products" aus
und bestimmen die Anzahl der Spalten in dieser Datenbank.
set db = createobject ("ADODB.connection")
dim liste
db.open "test","",""
sql = "select * from Products"
set rs = db.Execute(sql)
liste = rs("Productname")
msgbox liste, vbinformation
msgbox rs.fields.count
db.close
Wenn Sie das Skript gestartet haben, erscheint eine Dialogbox mit dem Wort "Chai".
In der Zeile 3 muß eventuell noch der Benutzername und das Passwort eingegeben werden.
In der vorletzten Zeile wird noch die Anzahl der insgesamten Spalten ausgegeben, in diesem Fall 10.
Stand: 13.10.2005
Beispiel 2
Mit diesem Skript lesen Sie alle Datensätze
in der Spalte "Productname" von der
Datenbank "Products" aus, deren "ProductID"
kleiner als 10 ist.
Außerdem wird das Ergebnis noch alphabetisch
nach "Productname" sortiert.
set db = createobject ("ADODB.connection")
dim liste
sql = "select * from Products where productid<10 order by productname"
db.open "test","",""
set rs = db.Execute(sql)
Do While Not rs.EOF
liste = liste & " # " & rs("Productname")
rs.MoveNext
Loop
db.close
msgbox liste
Dieses Skript beinhaltet in Zeile 6-9 eine Schleife,
die solange ausliest bis die Spalte keine Daten mehr beinhaltet.
Stand: 13.10.2005
Beispiel 3
Mit diesem Skript lesen Sie alle Datensätze in der Spalte "Productname"
von der Datenbank "Products" aus, deren "ProductName" ein "ü" beinhaltet.
Man beachte das hier der "like"- Befehl mit "rs.filter" aufgerufen wird.
dim liste
set db = createobject ("ADODB.connection")
db.open "test","",""
sql = "select * from Products"
set rs = db.Execute(sql)
rs.filter= "productname like '%ü%'"
Do While Not rs.EOF
test = Replace(rs("productname"), "ü", "ue",1,-1,1)
liste = liste & " XXX " & test
rs.MoveNext
Loop
db.close
msgbox liste
Desweiteren ersetzt das Skript NUR in der Ausgabe alle "ü" in "ue",
die Datenbank selbst bleibt unverändert.
Stand: 13.10.2005
Beispiel 4
Mit diesem Skript verändern Sie in der Spalte "Productname"
von der Datenbank "Products" alle Strings "chai" in den String "chai1".
set db = createobject ("ADODB.connection")
db.open "test","",""
sql = "update products set Productname='chai1' where productname='chai'"
db.Execute(sql)
db.close
Achtung:
Dieses Skript ändert ohne Nachfrage und
man kann die Durchführung nicht mit dem SQL- Befehl "ROLLBACK" wiederrufen.
Stand: 13.10.2005
Beispiel 5
Mit diesem Skript ändern Sie bestimmte Datensätze und
werden nochmals gefragt, ob die Änderungen wirklich
durchgeführt werden sollen.
set db = createobject ("ADODB.connection")
db.open "test","",""
db.BeginTrans
sql = "update products set Productname='chai1' where productname='chai'"
db.Execute(sql)
If MsgBox("Sollen die Änderungen gespeichert werden?", vbYesNo) = vbYes Then
db.CommitTrans
Else
db.RollbackTrans
End If
db.close
Stand: 13.10.2005
Beispiel 6
Mit diesem Skript lesen Sie alle Datensätze
in der Spalte "Productname" von der Datenbank "Products" aus,
deren "ProductID" kleiner oder gleich 10 ist.
Dieses Mal gibt das Skript das Ergebnis nicht in einer Messagebox,
sondern in der Datei "test.txt" aus.
set fs = createobject("Scripting.filesystemobject")
set logbuch =fs.opentextfile("test.txt", 8, true,0)
set db = createobject ("ADODB.connection")
db.open "test","",""
sql = "select * from Products where productid<=10 order by productname"
set rs = db.Execute(sql)
Do While Not rs.EOF
logbuch.writeline rs("Productname")
rs.MoveNext
Loop
db.close
logbuch.close
Stand: 15.10.2005
Beispiel 7
Dieses Skript legt eine neue Tabelle und eine neue Spalte an.
Danach löscht es die Spalte und die Tabelle wieder.
set db = createobject ("ADODB.connection")
db.open "test","",""
msgbox("Es wird eine Tabelle 'test' erstellt.")
sql = "create table test (ID int, Name text, Telefon int)"
rs = db.Execute(sql)
msgbox("Es wird eine Spalte eingefügt.")
sql = "alter table test ADD email VARCHAR(20) "
rs = db.Execute(sql)
msgbox("Die Spalte wird wieder gelöscht.")
sql = "alter table test drop column email "
rs = db.Execute(sql)
msgbox("Die Tabelle 'test' wird wieder gelöscht.")
sql = "drop table test"
rs = db.Execute(sql)
db.close
Stand: 13.10.2005
Beispiel 8
Dieses Skript gibt in einer Messagebox "Keine Daten gefunden!" aus,
wenn die Datenbankabfrage kein Ergebnis bringt.
set db = createobject ("ADODB.connection")
db.open "test","",""
sql = "select * from Products where productid<-10 order by productname">
set rs = db.Execute(sql)
if rs.bof then
msgbox("Keine Daten gefunden!")
else
msgbox(rs("productname"))
end if
db.close
Stand: 13.10.2005
Beispiel 9
Fehlerbehandlung, wenn eine Spalte bzw. Datenbank nicht gefunden wird.
Wird die Fehlermeldung ausgegeben.
In diesem Fall ist ein Fehler im SQL- Code eingebaut.
set db = createobject ("ADODB.connection")
on error resume next
db.open "test","",""
if err.number = 0 then
sql = "select * from products where productnammmmme like 'a%'"
set rs = db.Execute(sql)
if err.number = 0 then
msgbox(rs("productname"))
end if
db.close
end if
if err.number <> 0 then
frage = msgbox("In Ihrer Anwendung ist ein Fehler folgendem Typs aufgetreten." & vbcr & vbcr _
& "Fehlertyp: " & err.description,vbOKonly + vbcritical,"FEHLER REPORT")
end if
Die Fehlermeldung, die ausgegeben wird, ist vom Skript selber, nicht von WSH.
Die WSH- Fehlermeldungen werden alle durch den Befehl "on error resume next" unterdrückt.
Stand: 13.10.2005