|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Библиотека для работы с базой данных SQLite.
Для API 1: ![]() Для API 2 (большое спасибо alex82 за сборку, однако либа по-прежнему глючная): ![]() Исходники SQLite v3.2.7: ![]()
Причина редактирования: ЭТА БИБЛИОТЕКА РАБОТАЕТ НЕ ПРАВИЛЬНЫМ ОБРАЗОМ
|
|
|
![]()
Сообщение
#2
|
|
![]() Реклама от Google ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 164 Регистрация: 19.5.2008 Из: г.Тула Пользователь №: 3 Спасибо сказали: 4 раза ![]() |
А какие возможности даёт эта библеотека=)?
|
|
|
![]()
Сообщение
#3
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Димон, если не понимаешь сути базы данных, зачем спрашивать?
![]() Эта библиотека позволяет работать с базами данных SQLite. Подробнее - или в инете, или позже тут. Сам я пока пробовал сделать скрипт с использованием этой библиотеки, но, видимо, попытка неудачна, при тесте на рабочем хабе, скрипт выдает ошибку, хотя на тестовом всё нормально... Видимо беда в каких-то символах или еще в чем-то, будем разбираться, ибо база данных - очень удобная вещь. ![]() |
|
|
![]()
Сообщение
#4
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Это для нового апи 0.4 ??? Если да, то не пашет она! С какого сайта взята эта библиотека? Да. С The PtokaX Portal'а взята, а именно отсюда: |
|
|
![]()
Сообщение
#5
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз ![]() |
Ооо) дождались. А дебаг криптография и прочая бурда тоже есть? =) Кста ты еще не надумал юзеринфо переводить под 0.4 ?
|
|
|
![]()
Сообщение
#6
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Ооо) дождались. А дебаг криптография и прочая бурда тоже есть? =) Кста ты еще не надумал юзеринфо переводить под 0.4 ? Надумал... Легко сказать! ![]() ![]() А библиотеки я сюда пока выкладываю по мере необходимости для некоторых скриптов. |
|
|
![]()
Сообщение
#7
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Сейчас пробовал еще работать с библиотечкой.
Прикол в том, что на 0.4.0.0 всё как часы, данные заносятся и извлекаются из бд простеньким тестовым скриптом, он есть в архиве с библиотекой, выглядит вот так: Код require "SQLite3" local db = sqlite3.open_memory() db:exec[[ CREATE TABLE test (id INTEGER PRIMARY KEY, content); INSERT INTO test VALUES (NULL, 'Hello World'); INSERT INTO test VALUES (NULL, 'Hello Lua'); INSERT INTO test VALUES (NULL, 'Hello Sqlite3') ]] for row in db:rows("SELECT * FROM test") do Core.SendToAll("row.id = "..row.id.."\t\trow.content = "..row.content) end Но на 0.4.1.0 вот такая ошибка: Цитата Синтаксис C:\0.4.1.0\libs\SQLite3.lua:165: attempt to index upvalue 'api' (a nil value) При инициализации библиотеки, если вывести ошибку в чат получаем вот это: "Не найден указанный модуль." В SQLite3.lua инициализация выглядит так: Код local init, error = package.loadlib("pxsqlite3", "luaopen_pxsqlite3") local api, ERR, TYPE, AUTH if init then api, ERR, TYPE, AUTH = init() end В библиотеке либо изменена функция, теперь она не luaopen_pxsqlite3, а какая-то еще, либо в PXLua.dll опять что-то изменили. :\ |
|
|
![]()
Сообщение
#8
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Ура Наконецто можно перейти на новый апи. У меня все работает. Setuper, а ты свои библиотеки никогда не компилировал??? А то хотелось бы, но в этом я просто ноль. Как-то на форуме птоки нашел я вот это, но ничего так и не вышло... Цитата A guide on howto create a extension for PXLua ? Actually its rather easy C++ lib for Lua 5.1: Код #pragma comment(lib, "PXLua.lib") extern "C" { // we dont need all of them in this sample, but does not hurt to include all # include "lua.h" # include "lualib.h" # include "lauxlib.h" }; // The HelloWorld lua function int lua_helloworld (lua_State *L) { if (lua_gettop(L) != 0) { // check no of arguments - we expect none (we dont need to do this in this case, but its just to show how) luaL_where(L,1); // at witch line did the error happen in the script lua_pushliteral(L, "Function should be called without arguments!"); // push the message lua_concat(L, 2); // concat; merge the where-message and the error-message lua_error(L); // halt the script and display the message } lua_pushstring(L, "Hello World!"); return 1; // the number of objects we pushed onto the stack } // table of methods to register static const luaL_reg our_methods[] = { {"FunctionName", lua_helloworld}, {0,0} }; // Lua entry point when loading int __declspec(dllexport) libinit (lua_State* L) { luaL_register(L, "TableName", our_methods); return 0; } -- EOF -- The script: Код libinit = package.loadlib("px_helloworld.dll", "_libinit") // the existance of "_" in the entrypoint depends on you compiler options. libinit() retval = TableName.FunctionName() SendToAll(retval) -- EOF -- Ну и может расскажешь, что за SBot, уже даже 7.0RC1?! И ну очень был бы тебе благодарен если бы ты поделился опытом работы с SQLite, может даже мануал в этом разделе бы создал? ![]() |
|
|
![]()
Сообщение
#9
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Сам пытался писать библиотеки, точнее пытался править код уже написанных - потом компилил исправленный код, но в итоге после того, как компилятором была выброшена длл, подключал её к PtokaX но ничего не работало. Хотя "простейшие" длл библиотеки могу писать - работают.
|
|
|
![]()
Сообщение
#10
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Сам пытался писать библиотеки, точнее пытался править код уже написанных - потом компилил исправленный код, но в итоге после того, как компилятором была выброшена длл, подключал её к PtokaX но ничего не работало. Хотя "простейшие" длл библиотеки могу писать - работают. Вот можно такой авторский мануальчик по "простейшим" DLL? Типа того HelloWorld, что я постил. И если не трудно, еще как работает эта вот связка: прикладная программа - скрипт?! А то робокопа ни разу не включал... |
|
|
![]()
Сообщение
#11
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Вот можно такой авторский мануальчик по "простейшим" DLL? Типа того HelloWorld, что я постил. И если не трудно, еще как работает эта вот связка: прикладная программа - скрипт?! А то робокопа ни разу не включал... а какие проблемы в том что ты запостил? там все работает. длл скомпилить у меня получилось. Или ты хочешь чтобы я подробно рассказал что там делается? насчет прикладной программы: это программа, написанная на с++ - так сказать с понятным интерфейсом в виде окошек. С помошью такой прикладной программы можно не включать клиент дц а например смотреть информацию о пользователях через эту программу введя в поле ип адрес или ник пользователя, да ваобще через программу можно управлять хабом (точнее скриптом). Можно также банить, менять настройки, отправлять массовые сообщения, менять правила, вставлять описания, одним нажатием кливишы создавать новые контекстные менюшки хаба и тд и тп - всего и не перечислишь что можно сделать. |
|
|
![]()
Сообщение
#12
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Просто в этом я нуп, пробовал я долго и усердно, но не вышло...
Реально интересуют пошаговые инструкции для компилирования, какой компилятор (я себе поставил Microsoft Visual Studio 2008), и прочее, что может к этому относиться. Цитата И если не трудно, еще как работает эта вот связка: прикладная программа - скрипт?! А то робокопа ни разу не включал... Это-то я знаю, меня интересует именно раелизация этой связки, как я предполагаю, эта программа подсоединяется как юзер на хаб и передает команды, которые уже обрабатываются скриптом. И, Setuper, огромное спасибо тебе за готовность помогать, делиться своими знаниями и опытом! ;) |
|
|
![]()
Сообщение
#13
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 135 Регистрация: 18.7.2008 Из: г. Москва Пользователь №: 219 Спасибо сказали: 25 раз ![]() |
Народ, подскажите, файлы и папки из распакованного архива PXLua-SQLite-0.4.1-SQLite-3.5.6.7z пихать в папку libs или в заглавную папку с птокой?
|
|
|
![]()
Сообщение
#14
|
|
![]() lua-паддаван ![]() ![]() ![]() Группа: Пользователи Сообщений: 75 Регистрация: 1.7.2008 Из: www.u-l.ru Пользователь №: 114 Спасибо сказали: 29 раз ![]() |
будут работать и там и там
|
|
|
![]()
Сообщение
#15
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Заблокированные Сообщений: 87 Регистрация: 16.10.2008 Пользователь №: 805 Спасибо сказали: 35 раз ![]() |
PPK выложил обновление библиотек
|
|
|
![]()
Сообщение
#16
|
|
![]() Местная ТехПоддержка ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз ![]() |
ну да... таки выложил
![]() |
|
|
![]()
Сообщение
#17
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
Рано я обрадовался... В целом для виндовой птоки, по моему, ничего не изменилось! Как не мог создать две таблицы так и сейчас токо одна создаётся!!!
PS: 2Setuper: Илюх, что ты думаешь по этому поводу? Ощущаю резкую потребность в БД но ставить MySQL тоже как то не очень хочется((( Будет ли решение этой проблемы? |
|
|
![]()
Сообщение
#18
|
|
![]() Местная ТехПоддержка ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз ![]() |
да, оно зовется линукс (с)
в нем вся коровья суперсила! |
|
|
![]()
Сообщение
#19
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Заблокированные Сообщений: 87 Регистрация: 16.10.2008 Пользователь №: 805 Спасибо сказали: 35 раз ![]() |
Код --[[
SQLite3 Example script by Mutor ]] -- Admins nick for status / error messages local OpNick = "Mutor" -- Subdir of scripts folder ["" = scripts folder] local path = "sql/" -- Database file name ["" = hubname.db"] local file = "" -- Database timeout, in seconds local to = 3 -- Delete file on script exit? true/false local DelFile = true require "sqlite3" OnStartup = function() local root = Core.GetPtokaXPath().."scripts/" if #path > 0 then path = root..path else path = root end if #file == 0 then file = path..SetMan.GetString(0):gsub(" ","_")..".db" else file = path..file end if Update() then OnError(file.." has been updated.") else OnError(file.." failed to update.") end end OnError = function(msg) if msg and #msg > o then local user,bot = Core.GetUser(OpNick),SetMan.GetString(21) if user and bot then Core.SendToUser(user,"<"..bot.."> "..msg.."|") end end end OnExit = function() if DelFile then assert(os.remove(file)) end end Update = function() db = sqlite3.open(file) db:set_busy_timeout(to) db:exec("CREATE TABLE HubUsers (Nick TEXT, IP TEXT, Profile NUMERIC);") local t = {"Nick","IP","Profile"} for x,user in ipairs(Core.GetOnlineUsers()) do db:exec("INSERT INTO HubUsers ( Nick, IP, Profile ) VALUES ('"..user.sNick.."', '"..user.iProfile.."', '"..user.sIP.."');"); end db:exec('commit') ReadDb(db) db:close() return true end ReadDb = function(db) for _, nick,profile,ip in db:cols("SELECT 1, * FROM HubUsers") do OnError("[ "..nick.." ] "..profile.." "..ip.."|") end end ------ End of Code ------ |
|
|
![]()
Сообщение
#20
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
2sphinx: а ты не мог бы передать мутору чтоб он написал пример скрипта с созданием двух таблиц в одной БД и запросами типо АПДЕЙТ, или СЕЛЕКТ с параметром WHERE?
|
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
Sqlite Unix | База данных |
3 | Setuper | 11 051 | 10.2.2016, 21:15 Посл. сообщение: Alexey |
![]() |
Запрос в базу данных sqlite клиента Запрос и экспорт данных из базы данных sqlite клиента |
9 | derschaman | 14 976 | 5.1.2011, 2:03 Посл. сообщение: Nickolya |
![]() |
![]() API1 | Скрипт оффлайн информации по юзерам |
20 | Nickolya | 27 293 | 2.11.2010, 9:05 Посл. сообщение: kool |
![]() |
От: Дополнительные Библиотеки: Sqlite От темы с ID: 7 |
12 | BIMMER71 | 16 263 | 5.2.2009, 10:53 Посл. сообщение: Setuper |
![]() |
Web Статистика С Использованием Единой Базы Данных Sqlite | 1 | Jaska | 6 881 | 23.9.2008, 14:25 Посл. сообщение: Setuper |
![]() |
Сейчас: 8.9.2024, 5:00 |