To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=55743 Issue #:|55743 Summary:|RowSet crashes when obtaining a Time or TimeStamp |field. Component:|Database access Version:|OOo 2.0 Platform:|All URL:| OS/Version:|All Status:|NEW Status whiteboard:| Keywords:| Resolution:| Issue type:|DEFECT Priority:|P3 Subcomponent:|none Assigned to:|dbaneedsconfirm Reported by:|pitonyak
------- Additional comments from [EMAIL PROTECTED] Mon Oct 10 14:14:53 -0700 2005 ------- So, you want to Crash OOo version 2.0 RC 2? I mean, a complete and total crash! I created a simple database containing a Time and a TimeStamp field. I noticed that when I obtain a TimeStamp object using a ResultSet, the TimeStamp field does NOT contain the milliseconds. If I obtain the column as a string, however, then it does. (I have NOT filed an issue against this problem). This is how I set the values and then decided that I could NOT obtain the milliseconds. 'Set dbFileName as the registered name or the URL to the file. Sub UseSQL(dbFileName As String) Dim oStatement Dim oResultSet Dim oBaseContext Dim oDataBase Dim oTables Dim oBaseNames Dim oCols Dim oCol Dim oTable Dim oCon Dim oDoc Dim s$ '**** Set up things here **** Const dbUser as String = "" Const dbPass as String = "" oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext") oDataBase = oBaseContext.getByName(dbFileName) oCon = oDataBase.getConnection(dbUser, dbPass) oTables = oCon.getTables() 'some error handling On Error Goto ErrorHandler oStatement = oCon.createStatement() oResultSet = oStatement.executeQuery("update NUM Set TS='1965-03-13 01:02:03.123456789' Where ID=0") oResultSet = oStatement.executeQuery("update NUM Set T='03:04:05' Where ID=0") oResultSet = oStatement.executeQuery("select TS, T from NUM Where ID=0") Dim oTS Dim oTime If Not IsNull(oResultSet) Then oResultSet.next oTS = oResultSet.getTimestamp(1) oTime = oResultSet.getTime(2) s = "Time1 " & oTime.Hours & ":" & oTime.Minutes & ":" & _ oTime.Seconds & "." & oTime.HundredthSeconds & CHR$(10) & _ "Time2 " & oResultSet.getString(2) & chr$(10) & chr$(10) s = s & "TS1 = " & oTS.Year & "-" & oTS.Month & "-" & oTS.Day & " " & _ oTS.Hours & ":" & oTS.Minutes & ":" & _ oTS.Seconds & "." & oTS.HundredthSeconds & CHR$(10) & _ "TS2 = " & oResultSet.getString(1) & CHR$(10) End If Msgbox s oCon.close() Exit Sub ErrorHandler: MsgBox "Error " & Err & ": " & Error$ + chr(13) + "At line : " + Erl + chr(13) + Now , 16 ,"An Error Occurred" oCon.close() End Sub I decided to check using a RowSet. OOo CRASHES completely when I do this. Sub UseRowSet(sName$) Dim oRowSet As Variant Dim sSql$ Dim n% Dim oTS Dim oTime Dim s$ oRowSet = createUnoService("com.sun.star.sdb.RowSet") oRowSet.setPropertyValue("DataSourceName", sName) oRowSet.CommandType = com.sun.star.sdb.CommandType.COMMAND 'oRowSet.CommandType = com.sun.star.sdb.CommandType.QUERY sSQL = "SELECT * from `NUM` Where ID=0" oRowSet.setPropertyValue("Command", sSQL) oRowSet.execute() n = oRowSet.getPropertyValue("RowCount") If n > 0 Then MsgBox "with data" Dim l1 As Long Dim l2 As Long l1 = oRowSet.findColumn("TS") l2 = oRowSet.findColumn("T") Print l1 Print l2 oTS = oRowSet.getTimestamp(l1) oTime = oRowSet.getTime(l2) s = "Time1 " & oTime.Hours & ":" & oTime.Minutes & ":" & _ oTime.Seconds & "." & oTime.HundredthSeconds & CHR$(10) & _ "Time2 " & oRowSet.getString(l2) & chr$(10) & chr$(10) s = s & "TS1 = " & oTS.Year & "-" & oTS.Month & "-" & oTS.Day & " " & _ oTS.Hours & ":" & oTS.Minutes & ":" & _ oTS.Seconds & "." & oTS.HundredthSeconds & CHR$(10) & _ "TS2 = " & oRowSet.getString(l1) & CHR$(10) Msgbox s Else MsgBox "without data" Endif 'Inspect(oRowSet) oRowSet.dispose() End Sub --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]