Dicas SQLite -
F1N4L - 15.01.2016
Hб um tempo atras q eu usava a include do Gammix (easydb.inc) realmente muito boa, porйm eu quero aprender a linguagem C da "raiz", e nгo com atalhos. Utilizei a include por bastante tempo e sim, para quem quer ter o trabalho facilitado recomendo, porйm como eu disse anteriormente, quero aprender os cуdigos nativos do SA:MP e tenho algumas dъvidas, nгo quero tutoriais, apenas dicas.
Eu tenho me atrapalhado quanto a isso, atй onde sei, ambos fazem o trabalho de ler e escrever... Mas devo colocar os 2 juntos ou em ocasiхes especнficas?
Sei q й necessбrio para alterar os valores da table utilizando " db_query(Database, Query); ", mas e quanto ao " db_free_result(db_query(Database, Query)); " ?
> Quando e onde devo usar:
Quote:
db_query(Database, Query);
db_free_result(db_query(Database, Query));
|
Re: Dicas SQLite -
WooPz - 15.01.2016
primeiro vc n vai estar aprendendo c sу porque esta aprendendo usar sqlite nativo do sa-mp. samp usa pawn e nгo usa c. por mais que pawn tenha syntax semelhante, pawn nao й c entao n ache que estarб aprendendo
agora sobre o db_free_result, ele й usado sempre depois que vocк usa o db_query. ele libera a memoria alocada no uso do db_query como explica a wiki:
http://webcache.******usercontent.co...Db_free_result
agora uma dica, se quer aprender c sу vai aprender quando programar c e nao pawn
Re: Dicas SQLite -
F1N4L - 16.01.2016
Mensionei a linguagem C, pois faz parte da biblioteca SQLite, vc tem razгo eu me confundi sinceramente. Em fim, vocк me tirou essa dъvida, porйm tenho outra com um exemplo concretizando o q vc falou:
Quote:
new
Query[100],
Query2[100]
;
format(Query, sizeof(Query), "UPDATE `banned` SET `bans` = '%i' WHERE `username` = '%s'",
User[playerid][accountBanned],
DB_Escape(User[playerid][accountName])
);
db_query(Database, Query);
db_free_result(db_query(Database, Query));
format(Query2, sizeof(Query2), "UPDATE `kicked` SET `kicks` = '%i' WHERE `username` = '%s'",
User[playerid][accountKicked],
DB_Escape(User[playerid][accountName])
);
db_query(Database, Query2);
db_free_result(db_query(Database, Query2));
|
Neste exemplo, eu usei 2 Query's e nгo sei se deste modo estб correto! Talvez se usar uma Query apenas para todo o salvamento, mesmo assim tenho medo de Bugs
Re: Dicas SQLite -
HaRdiiZin - 16.01.2016
Quote:
Originally Posted by F1N4L
Mensionei a linguagem C, pois faz parte da biblioteca SQLite, vc tem razгo eu me confundi sinceramente. Em fim, vocк me tirou essa dъvida, porйm tenho outra com um exemplo concretizando o q vc falou:
Neste exemplo, eu usei 2 Query's e nгo sei se deste modo estб correto! Talvez se usar uma Query apenas para todo o salvamento, mesmo assim tenho medo de Bugs
|
Й bacana de se fazer isto quando acontecer coisas importantes para seu player, por exemplo ele receber level, ou dinheiro assim evitarб que seu player perca os dados. Sobre bugs, acho meio nulo de isso acontecer.. oque pode acontecer й oque eu te falei.
Re: Dicas SQLite -
F1N4L - 16.01.2016
Quote:
Originally Posted by HaRdiiZin
Й bacana de se fazer isto quando acontecer coisas importantes para seu player, por exemplo ele receber level, ou dinheiro assim evitarб que seu player perca os dados. Sobre bugs, acho meio nulo de isso acontecer.. oque pode acontecer й oque eu te falei.
|
De certa forma (como pode perceber) me basiei em seu tutorial, realmente bom, porйm ainda me restavam essas dъvidas. Mas se vc disse q este modo estб bom, fico agradecido pelo feedback! thx
Re: Dicas SQLite -
EditPawn - 16.01.2016
Dessa forma vocк consegue fazer a mesma funзгo.
PHP код:
new query[200];
format(query, 200, "UPDATE `banned` SET `bans`=%i,`kicked`=%i WHERE `username`='%q'", User[playerid][accountBanned], User[playerid][accountKicked], User[playerid][accountName]);
db_free_result(db_query(Database, query));
Vocк nгo precisa mais utilizar DB_Escape, na nova atualizaзгo foi incluнdo %q que tem jб faz o escape da string.
Re: Dicas SQLite -
F1N4L - 16.01.2016
Quote:
Originally Posted by EditPawn
Dessa forma vocк consegue fazer a mesma funзгo.
PHP код:
new query[200];
format(query, 200, "UPDATE `banned` SET `bans`=%i,`kicked`=%i WHERE `username`='%q'", User[playerid][accountBanned], User[playerid][accountKicked], User[playerid][accountName]);
db_free_result(db_query(Database, query));
Vocк nгo precisa mais utilizar DB_Escape, na nova atualizaзгo foi incluнdo %q que tem jб faz o escape da string.
|
Й muito chato ficar adicionando esse DB_Escape mesmo, obrigado pela dica.
Re: Dicas SQLite -
HaRdiiZin - 16.01.2016
Quote:
Originally Posted by F1N4L
De certa forma (como pode perceber) me basiei em seu tutorial, realmente bom, porйm ainda me restavam essas dъvidas. Mas se vc disse q este modo estб bom, fico agradecido pelo feedback! thx
|
Estou refazendo o tуpico adicionando mais informaзхes e melhorando a explicaзгo.. Tб me dando um trabalhinho pra refazer porque nгo tenho muita paciкncia, mais digamos que estб em 50% kkk, logo mais eu atualizo aquele tуpico.
Re: Dicas SQLite -
F1N4L - 16.01.2016
Quote:
Originally Posted by HaRdiiZin
Estou refazendo o tуpico adicionando mais informaзхes e melhorando a explicaзгo.. Tб me dando um trabalhinho pra refazer porque nгo tenho muita paciкncia, mais digamos que estб em 50% kkk, logo mais eu atualizo aquele tуpico.
|
Ok, ficarei antenado a respeito e obrigado pela colaboraзгo.
Re: Dicas SQLite -
arakuta - 17.01.2016
SQLite usa linguagem SQL e nгo C.