Sub TagAuslesen
DBContext=createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource=DBContext.getByName("Bürodatenbank")
ConnectToDB=DataSource.GetConnection ("","")
SQLStatement=ConnectToDB.createStatement
MA = inputbox ("Mitarbeiternummer")
sql= "SELECT ""Mo"", ""Di"", ""Mi"", ""Do"", ""Fr"", ""Sa"", ""So"" FROM ""Woche"" WHERE ""Id"" = '" & MA &"'"
Result = SQLStatement.executeQuery(sql)
Wert_heute = Result.getString([b]index[/b])
MsgBox (Wert_heute)
end Sub
Fehlermeldung:
Es ist eine Exception aufgetreten. Type: com.sun.star.sdbc.SQLException. Message: No data is available.
Was muss für index eingetragen werden, wenn ich den Wert in der Spalte für "Mi" aus Zeile WHERE ""Id"" = '" & MA &" haben möchte?
Gruß Bernd!
Moderation,4: CODE tags gesetzt
Zuletzt geändert von NTClient am Do, 22.09.2011 08:06, insgesamt 1-mal geändert.
lResultCols = Result.getColumns().getCount()
While Result.Next()
For l = 0 To lResultCols - 1
print "Spalteninhalt " & l+1 & ": " & oResultSet.getString( l + 1 )
Next l
WEnd
Hilft das Deinem Verständnis weiter?
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Sub TagAuslesen
DBContext=createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource=DBContext.getByName("Bürodatenbank")
ConnectToDB=DataSource.GetConnection ("","")
SQLStatement=ConnectToDB.createStatement
MA = inputbox ("Mitarbeiternummer")
sql= "SELECT ""Mo"", ""Di"", ""Mi"", ""Do"", ""Fr"", ""Sa"", ""So"" FROM ""Woche"" WHERE ""Id"" = " & MA &""
Result = SQLStatement.executeQuery(sql)
lResultCols = Result.getColumns().getCount()
dim MyArray(lResultCols) as string
While Result.Next()
For i = 0 To lResultCols - 1
MyArray (i) = Result.getString( i )
Next i
WEnd
end Sub
Sieht doch gut aus, oder? Werde ich morgen mal ausprobieren...
a) ja, "mein" oResultset ist "Dein" Result - Code war kopiert und nicht durchgängig angepasst
b) die Zähler sind bei Dir nicht korrekt: während Array Null-basiert ist, werden die Spalten ab 1 gezählt
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Ungetestet!
Sonst hättest Du gesehen, dass es so nicht funktioniert.
In den meisten SQL-Dialekte erwarten bei LIKE eine Wildcard, hier (bei HSQLDB) bspw.
sehr wohl getestet, nur dann beim tippen das/die zeichen vergessen.
der select hat bei mir so auch ohne wildcard funktioniert, deswegen nicht 100% drauf geachtet...sorry
komma4 hat geschrieben:In den meisten SQL-Dialekte erwarten bei LIKE eine Wildcard, hier (bei HSQLDB) bspw.
Dem muss ich mal kurz widersprechen, ich kenne keinen SQL-Dialekt, der da eine Wildcard verlangt.
Wenn man ohne Wildcards suchen will, sollte man prinzipiell zwar eher ein "=" statt "LIKE" verwenden, aber entweder wandelt der Query Optimizer des DBMS zweiteres sowieso in ersteres um, oder man muss damit leben, dass man unter Umständen eben case insensitive sucht (sprich Suche mit "SCHMITT" liefert auch "schmitt" als Treffer).