ich habe da ein kleines Problemchen dem ich (mit meinen bisherigen Kenntnissen) nicht so recht bei komme...
hoffentlich habt ihr mir da einen lösungsansatz..
ich habe einen Dialog mit dem ich nach Datensätzen in einer MySQL DB suchen will. (verbunden über den Java Connector)
Sobald aber eines der Timestampfelder zum Ergebnis gehört, wird beim zweiten Timestampfeld dieser Fehler ausgelöst. Ursprünglich habe ich erst alle Felder eines Datensatzes direckt in ein Array eingelesen, was dann folgendes ergebniss hatte: Mittlerweile erstelle ich erst ein Objekt in das ich den Timestamp mit getTimestamp() einlese, und anschliesend als String verkettet in das Array schreibe.
Ergebnis ist leider auch der oben genannte fehler.
Code: Alles auswählen
Sub LadeLogDaten
s = ""
aPosListLogAnsicht = oLogDlg.getControl("LB_LogAnsicht").getSelectedItemsPos()
aItemListLogAnsicht = oLogDlg.getControl("LB_LogAnsicht").getSelectedItems()
if uBound(aPosListLogAnsicht) = -1 then
s = "*"
else
s = Join(aItemListLogAnsicht(),", ")
end if
sOrder = oLogDlg.getControl("CB_Sort").text
If sOrder = "" then
sOrder = "`LOG_id`"
Else
sOrder = "`" & oLogDlg.getControl("CB_Sort").text & "`"
End If
If oLogDlg.getControl("OB_Sort_auf").state then
sOrderDirection = "ASC"
ElseIf oLogDlg.getControl("OB_Sort_ab").state then
sOrderDirection = "DESC"
end if
sLogfelder = oLogDlg.getControl("CB_Logfelder").text
if sLogfelder = "" then
sLogfelder = ""
else
sLogfelder = " WHERE `" & oLogDlg.getControl("CB_Logfelder").text &"` = '" & oLogDlg.getControl("TF_SearchString").text & "' "
end if
sSQL = "SELECT " & s & " FROM `log`" & sLogfelder & "ORDER BY " & sOrder & " " & sOrderDirection & ";"
oCon = getConnection
oStat = oCon.createStatement()
oStat.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_INSENSITIVE
oErg = oStat.executeQuery(sSQL)
if not isNull(oErg) then
i = 0
oCB = oLogDlg.getControl("LB_LogDaten")
oCB.removeItems(0, oCB.getItemCount())
do while oErg.next()
oMeta = oErg.getMetaData()
Redim preserve aListe(i)
n = oErg.MetaData.ColumnCount
k = 0
for j = 1 to n
Redim preserve aListe2(k)
Select Case oMeta.getColumnType(j)
Case com.sun.star.sdbc.DataType.CHAR,com.sun.star.sdbc.DataType.VARCHAR,com.sun.star.sdbc.DataType.LONGVARCHAR
aListe2(k) = oErg.getString(j)
Case com.sun.star.sdbc.DataType.DOUBLE
aListe2(k) = oErg.getDouble(j)
Case com.sun.star.sdbc.DataType.BOOLEAN
aListe2(k) = oErg.getBoolean(j)
Case com.sun.star.sdbc.DataType.INTEGER,com.sun.star.sdbc.DataType.TINYINT,com.sun.star.sdbc.DataType.SMALLINT,com.sun.star.sdbc.DataType.BIGINT
aListe2(k) = oErg.getInt(j)
Case com.sun.star.sdbc.DataType.FLOAT,com.sun.star.sdbc.DataType.REAL
aListe2(k) = oErg.getFloat(j)
Case com.sun.star.sdbc.DataType.DATE
aListe2(k) = oErg.getDate(j)
Case com.sun.star.sdbc.DataType.TIME
aListe2(k) = oErg.getTime(j)
Case com.sun.star.sdbc.DataType.TIMESTAMP
oTimeStamp = oErg.getTimeStamp(j)
aListe2(k) = oTimeStamp.Year & "-" & oTimeStamp.Month & "-" & oTimeStamp.Day & " " & oTimeStamp.Hours & ":" & oTimeStamp.Minutes & ":" & oTimeStamp.Seconds
Case Else
aListe2(k) = "Datentyp anlegen!"
End Select
k = k + 1
next
aListe(i) = Join(aListe2,", ")
i = i + 1
loop
oCB.addItems(aListe,0)
end if
oCon.close
End Sub
vielen dank schon mal für eure hilfe...
Viele Grüße
St0rm