Ich möchte gerne die Feature Tabelle des Setups während der Laufzeit bearbeiten.
Dazu hab ich eine VBS Funktion geschrieben:
Public Function setFeatureDisplay
On Error Resume Next
Dim database, view, sql, record, display
logMessage "enter setFeatureDisplay"
sql = "SELECT * FROM `Feature` WHERE `Feature`='Administration_5.1'"
Set database = Session.Database
Set view = database.OpenView(sql)
view.Execute
If view Is Nothing Then
Set database = Nothing
MsgBox "view Is Nothing Exit Function"
Exit Function
End If
Set record = view.Fetch
If record Is Nothing Then
MsgBox "record Is Nothing Exit Function"
Exit Function
End If
record.IntegerData(5) = 0
display = record.IntegerData(5)
MsgBox "found: display=" & display
view.Modify 2, record
view.Close
Set record = Nothing
MsgBox "Error: " & view.GetError
database.Commit
MsgBox "!!!!! das was jetzt kommt macht das selbe wie oben nur zur kontrollausgabe!!!!!"
sql = "SELECT * FROM `Feature` WHERE `Feature`='Administration_5.1'"
Set database = Session.Database
Set view = database.OpenView(sql)
view.Execute
Set record = view.Fetch
display = record.IntegerData(5)
MsgBox "found: display=" & display
setFeatureDisplay = ReturnSuccess
End Function
Wenn ich diese nun aufrufe scheint der Record ordungsgemäßt geändert worden zu sein.
Wenn ich jedoch die SQL-Abfrage wiederhole bekomme ich wieder den ursprünglichen wert geliefert.
Ich denke also das der Record nicht richtig in dem View oder in der DB gespeichert wird. Nur weiß ich nicht was ich vergessen haben könnte.
Vielen Dank schonmal und Gruß
Jens
Edited by Merrow, 05 January 2005 - 14:51.