NOTESSIDAN

Allt om Lotus Notes & Domino




Hämta data från SQL med ADODB
Här är ett av många sätt man kan använda sig av för att hämta data från SQL.
ADODB är ett programmatiskt ActiveX objekt i Windows man kan använda sig av för att prata med SQL via OLEDB connectorn.

Bilden visar hur min testtabell ser ut i SQL och scriptet nedan visar hur man från Lotusscript hämtar dessa värden.

Image

Sub Initialize On Error Goto e Dim rs As Variant,adoconn As Variant,strconn As Variant Const srv = "MinSQLServer" Const db = "ThomasDb" Const id = "thomas" Const pw = "password" strConn = |Provider=SQLOLEDB.1;Server=| + srv + |;Database=|_
+ db + |;UID=| + id + |;PWD=| + pw Set adoConn = CreateObject("ADODB.Connection") Call adoConn.Open(strConn) Set rs = createobject("ADODB.Recordset") rs.open "SELECT * FROM dbo.Table1",adoConn Do While Not rs.eof Print "Frukt = " + rs.fields("Frukt").value Print "Grönsak = " + rs.fields("Grönsak").value rs.movenext Loop Exit Sub e: Print Error,Erl End Sub


När man kör ovan script i en agent så resulterar det i följande resultat i Notesklientens statusrad.

Frukt = Banan
Grönsak = Gurka
Frukt = Äpple
Grönsak = Tomat
Frukt = Mango
Grönsak = Sallad
Frukt = Apelsin
Grönsak = Ärtor
Frukt = Mandarin
Grönsak = Morötter



Relevanta Poster på Notessidan:



Publicerad 2006-05-24 | Kommentarer: 2 | Läsningar: 4237
Kommentarer

Lelle ( 2008-03-13 13:09:36 )
Bra att veta om ADODB connections
State - Returnerar i vilken state conn objected är i (Open, conneting, closed). Väldigt bra om man återanvänder objectet.

Execute - Kör en SQL fråga, returnerar ett recordset (snabbare än recordSet.open(SQL))
ex : set rs = Conn.Execute("SELECT * FROM TABLE")

Stäng alltid en connection efter att du har kört den SQL satsen.

Är det komplicerade SQL statments eller flera som skall köras i följd använd Transactions (begin Trans , commit trans o rollback)- det säker ställer att de SQL statements som ligger mellan begin o commit körs som en atonom enhet - går det åt helvete så rullas SQL databasen tillbaks - annars risk för att databasen blir korrupt.


Bra att veta om Recordset
I Open funktionen kan man ange cursor och locktype - används om man vill tex ha read only eller forward only recordsets.

Lelle ( 2008-03-13 13:17:45 )
OBS!!! Var försiktig med count property på recordsetet - vissa versioner av speciellt JET för Access returnera fel count.

Vill du ha en säker rec count så pröva följande

set rs = conn.execute("SELECT COUNT(FirstColumn) as Cnt from table")
msgbox "RecordCount = " & rs("Cnt").value

Denna funkar alltid o du slipper tänka på versioner etc



Sök på Notessidan
Thomas Adrian
ThomasCertifierad utvecklare och administratör inom Notes & Domino

Kontakta mig







Senaste Sökningarna på Notessidan
Sön - sharepoint (R:1)
Sön - räkna and antal and besökare (R:0)
Sön - browser (R:17)
Sön - stoppar and mail (R:1)
Sön - korrupt (R:3)
Sön - böcker (R:0)
Sön - kalendern (R:12)
Sön - feature (R:15)
Sön - print and mime (R:2)
Sön - länka (R:0)
Sön - databasen (R:94)
Sön - access (R:47)
Sön - outlook (R:15)
Sön - webanvändare (R:0)
Sön - google and maps (R:6)
Sön - juffe (R:2)
Sön - uidoc.print (R:1)
Sön - java and lotusscript (R:26)
Sön - besök (R:0)




Databasstatistik Blogg
Uppdateras var 15:e Minut

Antal Poster:562
Antal Kommentarer: 1422
Alla sidvisningar idag:
Unika Besökare idag:
Databasstorlek: 129,25Mb
Fixup: 2019-12-15 00:31:21
FT:2019-12-15 12:39:33
DB Procent använd: 99
Antal Agenter: 42
Antal Formulär: 65
Antal Vyer: 60
Antal Dokument: 8078
Antal Image Resources: 108
Antal Subformulär: 18
Antal Scriptbibliotek: 11
Totalt Antal Designelement: 576
Antal Attachments: 159
Antal Konflikter: 0
Server version 1: 405
Server version 2: Release 9.0.1FP9|August 14, 2017
Server Plattform: Windows/64
Ändrad: 2019-12-15 13:33:08
Server Tidszon: Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=131$ZN=W. Europe
Region:
Kommentarsspam Idag: 8
Kommentarsspam Totalt: 20075


BlogRankers.com

Top Sites at iWEBTOOL.com

Fight Spam! Click Here!

Bloggtoppen.se

Listed on BlogShares

Increase website traffic

Top Internet Blogs

Site Checker