Свойства
Свойство | Тип | Описание | Пример | Версия |
---|
Exists | логический | Возвращает true, если база данных решения создана | Блок кода |
---|
| Database db = new Database();
if(!db.Exists)
db.CreateFromModel(); |
|
SuccessSyncлогический | если последняя синхронизация была проведена успешно | - | LastError | строка | Возвращает текст ошибки синхронизации. Возвращает null, если синхронизация была выполнена без ошибок | | - |
LastSyncTime | время | Возвращает время последней синхронизации | Не реализовано в 3.0 | - |
Size | число, целое | Возвращает размер файла базы данных в килобайтах | Не реализовано в 3.0 | 2.2.2.101 |
Методы
Метод | Описание | Параметры | Исключения | Пример | Версия |
---|
CreateFromModel() | Создает базу данных sqlite на основании файла метаданных решения. Проект решения должен содержать файл метаданных, доступный по имени Model\metadata.xml | | | при активной синхронизации |
Блок кода |
---|
| Database db = new Database();
if(db. |
|
ExistsdbCreateFromModelWriteLine("Синхронизация запущена"); |
|
Sync() Sync(callback) Sync(callback, state) | Производит синхронизацию данных с сервером БИТ:Мобайл | callback - имя функции, вызываемой после выполнения синхронизации; state - объект, передаваемый в функцию обратного вызова в качестве параметра; Функция обратного вызова: (state), state - объект, переданный в качестве параметра state; | | | - |
Create(name) | Создает новый экземпляр объекта | name - полное имя объекта | | Не реализовано в 3.0. Для создания экземпляра необходимо использовать конструктор объекта.
Логический | Возвращает true, если последняя синхронизация была проведена успешно |
theme | Eclipse |
---|
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 - идентификатор; | | Database db = new Database();
if(db.SuccessSync)
DConsole.WriteLine("Синхронизация выполнена успешно"); |
|
|
LastSyncTime | DateTime | Возвращает время последней синхронизации | Блок кода |
---|
| Database db = new Database();
DConsole.WriteLine("Дата последней синхронизации" + db.LastSyncTime.ToString()); |
|
|
LastSyncError | String | Возвращает текст ошибки синхронизации. Возвращает null, если синхронизация была выполнена без ошибок |
Не реализовано в 3.0. Для получения объекта необходимо использовать объект Querytheme | Eclipse |
public class MyScreen: Screen
{
void Btn_Click(object sender, EventArgs e)
{
//first we should obtain ref object
Query qry QueryDatabase();
if(db.SuccessSync)
DConsole.WriteLine("Произошла ошибка синхронизации + db.LastSyncError.ToString()); |
|
|
Методы
Метод | Описание | Параметры | Исключения | Пример | Версия |
---|
CreateFromModel() | Создает базу данных sqlite на основании файла метаданных решения. Проект решения должен содержать файл метаданных, доступный по имени Model\metadata.xml |
|
| Блок кода |
---|
| Database db = new Database();
if(!db.Exists)
db.CreateFromModel(); |
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 |
PerformSync(string url, string username, string password, ResultEventHandler<bool> handler, object state) | Синхронизирует данные между мобильным устройством и сервером |
|
| Блок кода |
---|
| var db = new Database();
db.PerformSync(@"http://bitmobile1.bt/bitmobileX/synctest/device","sr","sr", OnSyncComplete, "sync complete"); |
|
|
PerformSyncAsync(string url, string username, string password, ResultEventHandler<bool> handler, object state) | Синхронизирует данные между мобильным устройством и сервером в асинхронном режиме |
|
| Блок кода |
---|
| var db = new Database();
db.SyncAsync(@"http://bitmobile1.bt/bitmobileX/synctest/device","sr","sr", OnSyncComplete, "sync complete"); |
|
|
PerformFullSync(string url, string username, string password, ResultEventHandler<bool> handler, object state) | Загружает на мобильное устройство все доступные данные |
|
| Блок кода |
---|
| var db = new Database();
db.PerformFullSync(@"http://bitmobile1.bt/bitmobileX/synctest/device","sr","sr", OnSyncComplete, "sync complete"); |
|
|
PerformFullSyncAsync(string url, string username, string password, ResultEventHandler<bool> handler, object state) | Загружает на мобильное устройство все доступные данные в асинхронном режиме |
|
| Блок кода |
---|
| var db = new Database();
db.PerformFullSyncAsync(@"http://bitmobile1.bt/bitmobileX/synctest/device","sr","sr", OnSyncComplete, "sync complete"); |
|
|