Fonseca_ Posted January 23, 2022 Share Posted January 23, 2022 Olá queria saber como utilizar toJSON e fromJSON em sqlite caso alguem poder deixar uma explicação aqui em baixo desde já agradeço Link to comment
ber Posted January 24, 2022 Share Posted January 24, 2022 Basicamente salvar uma tabela usada nos códigos lua diretamente no SQL dá ruim, o toJSON e fromJSON servem para fazer essa conversão. Aqui o exemplo de um sistema de inventário, onde quando o player sai do servidor, o inventário dele (que é uma tabela) é convertido usando o toJSON e depois hospedado no SQLite: function onQuit() local id_ = getElementData(source, "ID") local inv_ = toJSON(inventario[source]) executeSQLQuery("UPDATE inventario_players SET inv=? WHERE id=?", inv_, id_) end addEventHandler("onPlayerQuit", root, onQuit) E agora para pegar a tabela no SQLite quando o player logar no servidor, convertê-la e setar como o inventário do jogador: function onLogin() local id_ = getElementData(source, "ID") local data = executeSQLQuery("SELECT inv FROM inventario_players WHERE id=?", id_) inventario[source] = {} inventario[source] = fromJSON(data[1]["inv"]) end addEventHandler("onPlayerLogin", root, onLogin) 1 Link to comment
Fonseca_ Posted February 6, 2022 Author Share Posted February 6, 2022 On 23/01/2022 at 22:06, ber said: Basicamente salvar uma tabela usada nos códigos lua diretamente no SQL dá ruim, o toJSON e fromJSON servem para fazer essa conversão. Aqui o exemplo de um sistema de inventário, onde quando o player sai do servidor, o inventário dele (que é uma tabela) é convertido usando o toJSON e depois hospedado no SQLite: function onQuit() local id_ = getElementData(source, "ID") local inv_ = toJSON(inventario[source]) executeSQLQuery("UPDATE inventario_players SET inv=? WHERE id=?", inv_, id_) end addEventHandler("onPlayerQuit", root, onQuit) E agora para pegar a tabela no SQLite quando o player logar no servidor, convertê-la e setar como o inventário do jogador: function onLogin() local id_ = getElementData(source, "ID") local data = executeSQLQuery("SELECT inv FROM inventario_players WHERE id=?", id_) inventario[source] = {} inventario[source] = fromJSON(data[1]["inv"]) end addEventHandler("onPlayerLogin", root, onLogin) Entendi um pouco, mas n é possivel usar em uma sql a parte ? Link to comment
KronoS Lettify Posted February 22, 2022 Share Posted February 22, 2022 On 06/02/2022 at 11:26, Fonseca_ said: Entendi um pouco, mas n é possivel usar em uma sql a parte ? O a lógica do exemplo que ele deu é a mesma para quando utilizar SQLite no seu próprio resource (um arquivo independente como db.sqlite, etc). Ainda assim, não é uma boa prática utilizar as strings JSON em uma linha/coluna do banco de dados. Há maneiras melhores de fazer isso. 1 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now