База Знаний: Программирование. StarBASIC. Base. DBF-таблица. Добавление, удаление и редактирование записей

From Wiki
Jump to navigationJump to search



Материал для этой статьи сформулирован на основе обсуждения
в community.i-rs.ru.

Для работы с dbf-файлами можно использовать следующий код:

Dim DatabaseContext As Object
Dim DataSource As Object
Dim Connection As Object
Dim InteractionHandler as Object
Dim Statement As Object
Dim ResultSet As Object
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Data source 1")

InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
Connection = DataSource.ConnectWithCompletion(InteractionHandler)

Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("SELECT * FROM Table 1")
ResultSet.last()
MsgBox ResultSet.getString(2) 'Значение PP'
Statement.ResultSetConcurrency = com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
Statement.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_INSENSITIVE
ResultSet = Statement.executeQuery("SELECT * FROM Table 1")
ResultSet.last()
ResultSet.updateString(2, "FF") 'Значение PP меняется на FF'
ResultSet.updateRow

Так же для дальнейшей записи в Dbf вместо ResultSet.last() можно написать ResultSet.afterLast()

Более расширенные функции ResultSet см. через

MsgBox ResultSet.DBG_Properties

и

MsgBox ResultSet.DBG_Methods












К началу страницы