Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Свойства

СвойствоТипОписаниеПримерВерсия
SuccessSync
ExistsлогическийВозвращает true, если
последняя синхронизация была проведена успешно

Не реализовано в 3.0

-LastErrorстрокаВозвращает текст ошибки синхронизации. Возвращает null, если синхронизация была выполнена без ошибок

Не реализовано в 3.0

 

-LastSyncTimeвремяВозвращает время последней синхронизацииНе реализовано в 3.0-Sizeчисло, целоеВозвращает размер файла базы данных в килобайтахНе реализовано в 3.02.2.2.101

Методы

МетодОписаниеПараметрыИсключенияПримерВерсия

Sync()

Sync(callback)

Sync(callback, state)

Производит синхронизацию данных с сервером БИТ:Мобайл

callback - имя функции, вызываемой после выполнения синхронизации;

state - объект, передаваемый в функцию обратного вызова в качестве параметра;

Функция обратного вызова: (state),

state - объект, переданный в качестве параметра state;

 

Не реализовано в 3.0

 

-Create(name)Создает новый экземпляр объектаname - полное имя объекта 

Не реализовано в 3.0. Для создания экземпляра необходимо использовать конструктор объекта.

 

база данных решения создана
Блок кода
languagec#
Database db = new Database();
if(!db.Exists)
	db.CreateFromModel();

SyncIsActiveЛогическийВозвращает true, при активной синхронизации
Блок кода
languagec#
themeEclipse
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();
	}
}
 
-
Database db = new Database();
if(db.SyncIsActive)
	 DConsole.WriteLine("Синхронизация запущена");

SuccessSyncЛогическийВозвращает true, если последняя синхронизация была проведена успешно
Блок кода
languagec#
Database db = new Database();
if(db.SuccessSync)
	 DConsole.WriteLine("Синхронизация выполнена успешно");

LastSyncTimeDateTimeВозвращает время последней синхронизации
Блок кода
languagec#
Database db = new Database();

	 DConsole.WriteLine("Дата последней синхронизации" + db.LastSyncTime.ToString());

LastSyncErrorStringВозвращает текст ошибки синхронизации. Возвращает null, если синхронизация была выполнена без ошибок
SelectById(name, id)Возвращает экземпляр объекта по идентификатору

name - полное имя сущности ;

id - идентификатор;

 Не реализовано в 3.0. Для получения объекта необходимо использовать объект Query
Блок кода
languagec#
themeEclipsepublic class MyScreen: Screen { void Btn_Click(object sender, EventArgs e) { //first we should obtain ref object Query qry
Database db = new 
Query
Database();
if(db.SuccessSync)
	 DConsole.WriteLine("Произошла ошибка синхронизации + db.LastSyncError.ToString());


Методы

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... } } }  
МетодОписаниеПараметрыИсключенияПримерВерсия
CreateFromModel()Создает базу данных sqlite на основании файла метаданных решения. Проект решения должен содержать файл метаданных, доступный по имени Model\metadata.xml

Блок кода
languagec#
Database db = new Database();
if(!db.Exists)
	db.CreateFromModel();

-

Delete(entityRef)

Delete(entityRef, inTran)

Удаляет объект

entityRef - ссылка на объект

CreateRef(name, guid)

Создает ссылку на объект определенного типа

Предупреждение

Ответственность за ссылочную целостность ложится на разработчика

name - строка, полное имя объекта;

guid - строка, идентификатор объектаinTran - установить false, для удаления сущности в обход транзакции

 DB.Delete(orderId);2.3.5.108
EmptyRef(name)Возвращает пустую ссылку на объект определенного типаname - полное имя объекта; var emptyOrderRef = DB.EmptyRef("Document.Order");-


DBException

  • Некорректный guid

 


Блок кода
languagejsc#
themeEclipse
var dbRef = DB.CreateRef("Document.Order", "e4875805-904d-4121-982b-8fa8753acf57");
2.3.14.119AsGuid(guidString)Конвертирует строку к типу GuidguidString - строка с текстом идентификатора; var emptyGuid = DB.AsGuid("000000000-0000000-000000000");
void DeleteCountry(Catalog.Country country)
{
	Database.Delete(country.Id, false);
}
 
3.0.0.0-
Commit()Сохраняет изменения в БД в рамках транзакции  

Блок кода
languagejsc#
themeEclipse
functionpublic class DB
{
	private static Database db;
 
	public static void Init()
	{
		db = new Database();
		if(!db.Exists)
			db.CreateFromModel();
	}
 
	public static void SaveChanges()  
	{
		DBdb.Commit();
	}
}
-
Rollback()Откатывает изменения в БД в рамках транзакции  

Блок кода
languagejsc#
themeEclipse
functionpublic class DB
{
	public static void DiscardChanges()  
	{
	DB	db.Rollback();
	}
}
-
CreateTable(name, columns[])Создает пользовательскую таблицу

name - имя таблицы, при создании платформа добавит суффикс 'UT_' к имени

columns - массив имен колонок;

 


Блок кода
languagejsc#
themeEclipse
functionpublic OnLoad()class DB
{
	DB.CreateTable("Filtered_Outlets", ["Id"]);
}
 
function LoadOutlets(){
	var qprivate static Database db;
 
	public static void Init()
	{
		db = new Query("SELECT O.Id, O.Name "
		+ "FROM Catalog_Outlets O"
		+ "RIGHT JOIN UT_Filtered_Outlets U "
		+ "ON (U.Id = O.Id)");
	return q.Execute();
}Database();
		if(!db.Exists)
		{
			db.CreateFromModel();
			Database.CreateTable("Filtered_Outlets", new String[] {"Id"});
		}
	}
}
3.0.0.02.3.5.108
DropTable(name)Удаляет пользовательскую таблицуname - имя таблицы 
Блок кода
languagejsc#
themeEclipse
 functionvoid NextStep(){
	DBDatabase.DeleteTable("Filtered_Outlets");	
	DoAction("Forward");
}
23.30.50.1080
TruncateTable(name)Очищает пользовательскую таблицуname - имя таблицы 
Блок кода
languagejsc#
themeEclipse
functionvoid Refresh(args){
	DBDatabase.TruncateTable("Filtered_Outlets");
	DoRefresh(args);
});
}
3.0.0.0

PerformSync(string url, string username, string password, ResultEventHandler<bool> handler, object state)

Синхронизирует данные между мобильным устройством и сервером


Блок кода
languagec#
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)

Синхронизирует данные между мобильным устройством и сервером в асинхронном режиме

Блок кода
languagec#
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)

Загружает на мобильное устройство все доступные данные

Блок кода
languagec#
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)

Загружает на мобильное устройство все доступные данные в асинхронном режиме

Блок кода
languagec#
var db = new Database();
db.PerformFullSyncAsync(@"http://bitmobile1.bt/bitmobileX/synctest/device","sr","sr", OnSyncComplete, "sync complete");
2.3.5.108