' Zugriff auf MySQL aus QBasic heraus unter Zuhilfenahme von ' ODBC, ADO (Active Data Object) und WSH (Windows Script Host) ' (c) 2004 by Andreas Meile, CH-8242 Hofen INPUT "Suchbegriff"; sb$ ' .VBS dynamisch generieren OPEN ENVIRON$("TEMP") + "\~QBMYSQL.VBS" FOR OUTPUT AS 1 PRINT #1, "Option Explicit" PRINT #1, "Dim oAbf, oVerb, oFS, oTs" PRINT #1, "Set oAbf = CreateObject(" + CHR$(34) + "ADODB.RecordSet" + CHR$(34) + ")" PRINT #1, "Set oVerb = CreateObject(" + CHR$(34) + "ADODB.Connection" + CHR$(34) + ")" PRINT #1, "Set oFS = CreateObject(" + CHR$(34) + "Scripting.FileSystemObject" + CHR$(34) + ")" PRINT #1, "oVerb.Open " + CHR$(34) + "DRIVER={MySQL ODBC 3.51 Driver};SERVER=pingu.qbasic.de;" + CHR$(34) + " & _" PRINT #1, CHR$(34) + ";DATABASE=qbforum;UID=dreael;PWD=TopSecret" + CHR$(34) PRINT #1, "Set oTs = oFS.CreateTextFile(" + CHR$(34) + ENVIRON$("TEMP") + "\~QBMYOUT.TXT" + CHR$(34) + ")" PRINT #1, "oAbf.Open " + CHR$(34) + "SELECT * FROM dbqbdemo WHERE bezeich LIKE " + STRING$(2, 34) + "%" + sb$ + "%" + STRING$(2, 34) + ";" + CHR$(34) + ", oVerb" PRINT #1, "Do Until oAbf.eof" PRINT #1, " oTs.WriteLine oAbf(" + CHR$(34) + "id" + CHR$(34) + ") & " + CHR$(34) + "," + CHR$(34) + " & oAbf("; PRINT #1, CHR$(34) + "bezeich" + CHR$(34) + ") & " + CHR$(34) + "," + CHR$(34) + " & oAbf(" + CHR$(34) + "groesse" + CHR$(34) + ")" PRINT #1, " oAbf.MoveNext" PRINT #1, "Loop" PRINT #1, "oAbf.Close" PRINT #1, "oVerb.Close" PRINT #1, "oTs.Close" PRINT #1, "Set oTs = Nothing" PRINT #1, "Set oAbf = Nothing" PRINT #1, "Set oVerb = Nothing" PRINT #1, "Set oFS = Nothing" CLOSE 1 ' und dieses Script ausfhren SHELL "cscript //NoLogo " + ENVIRON$("TEMP") + "\~QBMYSQL.VBS" KILL ENVIRON$("TEMP") + "\~QBMYSQL.VBS" ' Output auswerten OPEN ENVIRON$("TEMP") + "\~QBMYOUT.TXT" FOR INPUT AS 1 WHILE NOT EOF(1) INPUT #1, id%, bez$, groe% PRINT "ID:"; id%; "Bezeichnung: "; bez$; " Gr”sse:"; groe% WEND CLOSE 1 KILL ENVIRON$("TEMP") + "\~QBMYOUT.TXT"