[Ajuda] Dicas SQLite
#1

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));

Reply
#2

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
Reply
#3

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
Reply
#4

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.
Reply
#5

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
Reply
#6

Dessa forma vocк consegue fazer a mesma funзгo.

PHP код:
new query[200];
format(query200"UPDATE `banned` SET `bans`=%i,`kicked`=%i WHERE `username`='%q'"User[playerid][accountBanned], User[playerid][accountKicked], User[playerid][accountName]);
db_free_result(db_query(Databasequery)); 
Vocк nгo precisa mais utilizar DB_Escape, na nova atualizaзгo foi incluнdo %q que tem jб faz o escape da string.
Reply
#7

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
Dessa forma vocк consegue fazer a mesma funзгo.

PHP код:
new query[200];
format(query200"UPDATE `banned` SET `bans`=%i,`kicked`=%i WHERE `username`='%q'"User[playerid][accountBanned], User[playerid][accountKicked], User[playerid][accountName]);
db_free_result(db_query(Databasequery)); 
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.
Reply
#8

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.
Reply
#9

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.
Reply
#10

SQLite usa linguagem SQL e nгo C.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)