Действия с база данни

AutoPlay Media Studio поддържа няколко технологии за бази данни, включително MySQL, Oracle и Sqlite3. Функционалността на тези бази данни се осъществява с помощта на библиотеката LuaSQL, разработена и внедрена от екипа на Kepler Project.

Можете да активирате или деактивирате поддръжката на бази данни отделно в диалоговия прозорец Бази данни, който е достъпен, когато изберетеПроект> > Бази данни.

Обработка на грешка

Действията на базата данни поддържат две връщани стойности. Първият връща стойност, специфична за всяко действие. Втората стойност не е задължителна и се използва за получаване на низ за грешка от драйвера на базата данни, ако има такъв.

Обикновено първата върната променлива ще съдържа стойността, а втората ще бъде нула.

При грешка първата върната стойност ще бъде нула, а втората върната стойност ще бъде низ, съдържащ съобщението за грешка, ако има такова. (Ако няма съобщение за грешка, и двете стойности ще бъдат нула.)

Действия с база данни

Всички действия с бази данни имат почти същия синтаксис като различните технологии за бази данни.

Обекти на околната среда

Обектът на средата представлява връзката с драйвера на базата данни и обикновено се връща от извикване на функцията за инициализация. Тази инициализация се извършва автоматично, когато която и да е база данни се стартира с помощта на диалоговия прозорец Бази данни. Обектът на средата на всяка база данни също ще бъде автоматично затворен при изключване.

Така че в AutoPlay не е необходимо да се извършва повикване като:

Екологични действия

xxxx: свързване (име на източник [, потребителско име [, парола]])

Свържете се с източника на данни, посочен вsourcename, като използватеusernameипарола, ако са зададени. Името на източника (име на източника) може да варира в зависимост от типа на всяка база данни. За MySQL и PostgreSQL можете също да предоставите допълнително име на хост и порт:

Затваря средата на базата данни. Успех само ако първо се затворят всички връзки, свързани с него.

Връща true (true) при успех. Връща false, ако обектът вече е затворен.

Действия за свързване

xxxxВръзка:близо()

Затваря връзката. Успех само ако всички свързани с него курсори са затворени и връзката остава отворена.

Връща true (true) при успех.

xxxxConnection:commit()

Ангажира (завършва) текущата транзакция. Това свойство може да не работи на системи с бази данни, които не извършват транзакции.

Връща true (true) при успех. Връща false, ако операцията не може да бъде изпълнена или е неуспешна.

xxxx Връзка: изпълнение (изявление)

Изпълнява дадения SQL оператор.

Връща обекта на курсора, ако има резултат, или в противен случай броя на редовете, засегнати от командата.

xxxxВръзка:връщане()

Отмяна на текущата транзакция. Това свойство може да не работи на системи с бази данни, които не извършват транзакции.

Връща true (true) при успех. Връща false, ако операцията не може да бъде изпълнена или е неуспешна.

xxxxConnection:setautocommit(булев)

Активира или деактивира режима "автоматичен ангажимент". Това свойство може да не работи на системи с бази данни, които не извършват транзакции.

Връща true (true) при успех. Връща false, ако операцията не може да бъде изпълнена или е неуспешна.

Действия с курсора

xxxxКурсор:близо()

Връща true (true) при успех. Връща false, ако обектът вече е затворен.

xxxxCursor:fetch([таблица[,modestring]])

Връща следващия ред от резултата.

Ако операторът за извличане се извика без параметри, резултатите ще бъдат върнати директно на извикващия. Ако fetch се извика на таблица, резултатите ще бъдат копирани в тази таблица и модифицираната таблица ще бъде върната. В този случай може да се използва незадължителен параметър modestring. Това е просто низ, указващ как трябва да бъде изградена получената таблица. Режимът на ред може да съдържа:

"n" - получената таблица ще има цифрови индекси (по подразбиране) "a" - получената таблица ще има буквено-цифрови индекси

Числовите индекси са позициите на полетата в израза SELECT; буквено-цифровите индекси са имена на полета.

Незадължителният параметър на таблицата е таблицата, която се използва за съхраняване на следващия ред. Това позволява уникална таблица да се използва в множество селекции, което може да подобри цялостната производителност.

Няма гарантирани типове резултати: те могат или не могат да бъдат преобразувани от драйвера в съответните типове Lua. В текущата реализация драйверите на PostgreSQL и MySQL връщат всички стойности като низове, докато драйверите на ODBC и Oracle ги преобразуват в типове Lua.

Връща таблица с данни, както е показано по-горе, или null (нула), ако няма повече редове. Имайте предвид, че това действие може да върне нула (нула) като истински резултат.