Wysłany: 2015-01-29, 16:47
KukiX
Wiek: 34 Na forum: 6718 dni Posty: 567
Piwa : 17560
Lepiej skorzysta? z sqllite lub mysql.
Wed?ug mnie jest pro?ciej i o wiele bardziej si? nadaje do tego typu rzeczy.
XML nadaje si? tylko do zapisywania jaki? ustawie? po stronie klienta itp.
Jak nie ograniasz funkcji db to mo?esz skorzysta? z db2 xyzzyrp.
https://github.com/lpiob/MTA-XyzzyRP/tree/master/resources/%5BXyzzyRP%5D/DB2
Przyk?ad u?ycia skopiowany z innego forum:
local dbmanager = exports [ "DB2" ]
-- wysylanie zapytania do serwera mysql
dbmanager : zapytanie ( "UPDATE tabela SET cos=? WHERE id=?" , "wynikcos" , 1 )
-- pobieranie jednego rekordu
local data = dbmanager : pobierzWyniki ( "SELECT cos FROM tabela WHERE id=? LIMIT 1;" , 1 )
outputDebugString ( data . cos ) -- wyswietlenie zawartosci kolumny 'cos'
-- pobieranie wiecej niz jednego rekordu
local data = dbmanager : pobierzTabeleWynikow ( "SELECT cos FROM tabela" )
for i , v in pairs ( data ) do
outputDebugString ( v . cos ) -- wyswietlenie zawartosci kolumny 'cos'
end
Wysłany: 2015-01-29, 16:51
Wielebny
Wiek: 41 Na forum: 5498 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
Luki, tak na marginesie - ten return u?yty w ?rodku funkcji powoduje ?e xmlUnloadFile nie jest wywo?ywane, co w efekcie doprowadza do wycieku pami?ci.
A odno?nie zwracania wielu warto?ci to - zbieraj wyniki i zwr?? je na koncu funkcji:
function xml_pracownicy ( frakcja )
local pracownicy ={}
local xml = xmlLoadFile ( "config/Pracownicy.xml" )
if xml then
local file = xmlFindChild ( xml , frakcja , 0 )
for i , lista_pracownikow in ipairs ( xmlNodeGetChildren ( file )) do
id = xmlNodeGetAttribute ( lista_pracownikow , "id" )
login = xmlNodeGetAttribute ( lista_pracownikow , "login" )
stanowisko = xmlNodeGetAttribute ( lista_pracownikow , "ranga" )
praca = xmlNodeGetAttribute ( lista_pracownikow , "pracuje" )
table . insert ( pracownicy , { id , login , stanowisko , praca })
end
end
xmlUnloadFile ( xml )
return pracownicy
end
Z tym ?e faktycznie, XML ?rednio b?dzie si??nadawa?, szczeg?lnie je?li b?dziesz mia? du?o pracownik?w i/lub b?dziesz chcia? cz?sto te dane przetwarza?.
Baza danych z odpowiednimi indeksami b?dzie niepor?wnywalnie szybsza.
Wysłany: 2015-01-29, 17:17
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
Chodzi o te SELECT , UPDATE itd. Funkcje bede umia? uzywywa? ale tego wogule i rozumiem.
Wysłany: 2015-01-29, 17:23
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
SQL - j?zyk kwerend
MySQL, SQLite - systemy zarz?dzania baz? danych
Nie mylcie tych poj??
Wysłany: 2015-01-29, 17:24
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
Narazie zostan? przy xml. W pliczku b?dzie nie wi?cej ni? 100 rekord?w.
Tagi: funkcja :: return :: for
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: