Свойства
Свойство | Тип | Описание | Пример | Версия |
---|---|---|---|---|
Exists | логический | Возвращает true, если база данных решения создана | Database db = new Database(); if(db.Exists) db.CreateFromModel(); | |
SuccessSync | логический | Возвращает true, если последняя синхронизация была проведена успешно | Не реализовано в 3.0 | - |
LastError | строка | Возвращает текст ошибки синхронизации. Возвращает null, если синхронизация была выполнена без ошибок | Не реализовано в 3.0
| - |
LastSyncTime | время | Возвращает время последней синхронизации | Не реализовано в 3.0 | - |
Size | число, целое | Возвращает размер файла базы данных в килобайтах | Не реализовано в 3.0 | 2.2.2.101 |
Методы
Метод | Описание | Параметры | Исключения | Пример | Версия |
---|---|---|---|---|---|
CreateFromModel() | Создает базу данных sqlite на основании файла метаданных решения. Проект решения должен содержать файл метаданных, доступный по имени Model\metadata.xml | Database db = new Database(); if(db.Exists) db.CreateFromModel(); | |||
Sync() Sync(callback) Sync(callback, state) | Производит синхронизацию данных с сервером БИТ:Мобайл | callback - имя функции, вызываемой после выполнения синхронизации; state - объект, передаваемый в функцию обратного вызова в качестве параметра; Функция обратного вызова: (state), state - объект, переданный в качестве параметра state; | Не реализовано в 3.0
| - | |
Create(name) | Создает новый экземпляр объекта | name - полное имя объекта | Не реализовано в 3.0. Для создания экземпляра необходимо использовать конструктор объекта.
public class Catalog.Country : DbEntity { public DbRef Id {get; set;} public bool DeletionMark {get;set;} public String Code {get;set;} public String Name {get;set;} public Country() { Id = DbRef.CreateInstance(GetTableName(), Guid.NewGuid()); } } public class MyScreen: Screen { void Btn_Click(object sender, EventArgs e) { Catalog.Country country = new Catalog.Country(); country.Name = "Russia"; country.Save(); } } | - | |
SelectById(name, id) | Возвращает экземпляр объекта по идентификатору | name - полное имя сущности ; id - идентификатор; | Не реализовано в 3.0. Для получения объекта необходимо использовать объект Query public class MyScreen: Screen { void Btn_Click(object sender, EventArgs e) { //first we should obtain ref object Query qry = new Query(); qry.Text = "SELECT Id FROM Catalog_Country WHERE Name = @Name"; qry.AddParameter("Name", "Russia"); var rst = qry.Execute(); if(rst.Next()) { var r = rst.GetRef(0); //now we can get the object Catalog.Country obj = (Catalog.Country)r.GetObject(); //play with obj here... } } } | - | |
Delete(entityRef) Delete(entityRef, inTran) | Удаляет объект | entityRef - ссылка на объект inTran - установить false, для удаления сущности в обход транзакции | void DeleteCountry(Catalog.Country country) { Database.Delete(country.Id, false); } | 3.0.0.0 | |
EmptyRef(name) | Возвращает пустую ссылку на объект определенного типа | name - полное имя объекта; | Не реализовано в 3.0. | - | |
CreateRef(name, guid) | Создает ссылку на объект определенного типа Ответственность за ссылочную целостность ложится на разработчика | name - строка, полное имя объекта; guid - строка, идентификатор объекта | DBException
| Не реализовано в 3.0. | 2.3.14.119 |
AsGuid(guidString) | Конвертирует строку к типу Guid | guidString - строка с текстом идентификатора; | Не реализовано в 3.0. Необходимо использовать метод Parse типа Guid Guid GuidFromString(String id) { return Guid.Parse(id); } Guid GetEmptyGuid() { return Guid.Empty; } | - | |
Commit() | Сохраняет изменения в БД в рамках транзакции | public class DB { private static Database db; public static void Init() { db = new Database(); if(!db.Exists) db.CreateFromModel(); } public static void SaveChanges() { db.Commit(); } } | - | ||
Rollback() | Откатывает изменения в БД в рамках транзакции | public class DB { public static void DiscardChanges() { db.Rollback(); } } | - | ||
CreateTable(name, columns[]) | Создает пользовательскую таблицу | name - имя таблицы, при создании платформа добавит суффикс 'UT_' к имени columns - массив имен колонок; | public class DB { private static Database db; public static void Init() { db = new Database(); if(!db.Exists) { db.CreateFromModel(); Database.CreateTable("Filtered_Outlets", new String[] {"Id"}); } } } | 3.0.0.0 | |
DropTable(name) | Удаляет пользовательскую таблицу | name - имя таблицы | void NextStep(){ Database.DeleteTable("Filtered_Outlets"); } | 3.0.0.0 | |
TruncateTable(name) | Очищает пользовательскую таблицу | name - имя таблицы | void Refresh(){ Database.TruncateTable("Filtered_Outlets"); } | 3.0.0.0 |