e32db

Модуль для работы с базами данных e32db.

e32db.format_rawtime(timevalue)

Возвращает системную дату в юникоде (Formats timevalue (Symbian time) according to the current system’s date/time formatting rules and returns it as a Unicode string.)

e32db.format_time(timevalue)

Returns timevalue as a Unicode string formatted so that it is acceptable as a SQL time. To make a time literal, surround the return value with hash (#) characters.

Dbms()

class e32db.Dbms

класс для записи в БД

Dbms.begin()

Начинает транзакцую

Dbms.close()

Закрывает БД

Dbms.commit()

Записывает текущую Транзакцию

Dbms.compact()

Удаляет пустые области из БД

Dbms.create(path)

создает файл БД по пути path

Dbms.execute(query)

выполняет sql запрос query

Dbms.open(path)

открывает файл БД по пути path

Dbms.rollback()

Откатывает текущую транзакцию

Db_view()

class e32db.Db_view

класс для чтения БД

Db_view.col(index)

возвращает значение строки столбца index

Db_view.col_count()

возвращает номер столбца

Db_view.col_length(column)

возвращает количество значений в колонке

Db_view.col_raw(column)

возвращает значение

Db_view.col_rawtime(column)

возвращает значение

Db_view.col_type(column)

возвращает тип значение

Db_view.count_line()

возвращает количество строк в БД

Db_view.first_line()

переводит курсор на первую строчку

Db_view.get_line()

подгатавливает строку к выдаче

Db_view.is_col_null(column)

Tests whether column is empty. Empty columns can be accessed like normal columns. Empty numerical columns return a 0 or an equivalent value, and text and binary columns have a zero length.

Db_view.next_line()

переходим на следующую Строку

Db_view.prepare(db, query)
Parameters:
  • db (Dbms()) – база данных
  • query (str) – запрос

Выполняет запрос к базе данных

Пример

import e32db
db_path = u'e:\\data\\python\\test.db'
db = e32db.Dbms()
db.create(db_path)
db.open(db_path)
db.execute(u'CREATE TABLE users (number CHAR(12), login LONG VARCHAR, password LONG VARCHAR)')
db.execute(u"""INSERT INTO users VALUES('+79xxxxxxxxx','kAIST','password')""")
# пyть к бaзe и зaпpocы дoлжны быть в юникoдe
db_view=e32db.Db_view()
db_view.prepare(db,u'SELECT * from users')
# пpoxoдимcя пo вceм cтpoкaм
for x in xrange(db_view.count_line()):
    # пoдгoтaвлиeм нoвyю cтpoкy к выдaчe
    db_view.get_line()
    # и cмoтpим, чтo y нac в кoлoнкax
    # cтpaннo, нo нyмepaция нaчиниaeтcя c 1 a нe c 0
    print db_view.col(1), db_view.col(2)
    # пepexoдим нa cлeдyющyю cтpoкy
    db_view.next_line()