Developer.

Problemas com SQLITE!

Recommended Posts

Opa, estou começando a mexer com sqlite e no momento estou tentando fazer um simples registro por comando... porém não consigo segue abaixo o codigo:

 

local connect = dbConnect("sqlite", "registry.db")

addEventHandler("onResourceStart", resourceRoot, 
function() 
    local exec = executeSQLQuery("CREATE TABLE IF NOT EXISTS registroPessoal (ID INTEGER NOT NULL PRIMARY KEY, username TEXT, password TEXT, mtaserial INTEGER, PosX REAL, PosY REAL, PosZ REAL, accountName TEXT)" ) 
    local query = dbQuery( connect, "SELECT * FROM registroPessoal") 
    outputChatBox(tostring(query)) 
    local resultado, searchs, msg = dbPoll(query, 0) 
    if resultado == false then 
        outputConsole( "dbPoll falhou. Erro srch: " .. tostring(searchs) .. "  Erro msg: " .. tostring(msg) ) 
    end 
end) 

addCommandHandler ("registrar", function(jog, cmd, val1, val2)
local valor = dbQuery ( connect , "SELECT username, mtaserial FROM registroPessoal" ) 
outputDebugString("02")
local resultado = dbPoll ( valor ,-1 ) 
outputDebugString("03")
	if resultado then
		outputDebugString("04")
		for _, search in ipairs ( resultado ) do
			outputDebugString("05")
			if (search["username"]) == val1 or search["mtaserial"] == serial then
          		outputDebugString("07")
				outputChatBox("Esse nome de usuário já existe ou você já possui uma conta! tente novamente", jog)
			else
				outputDebugString("08")
				local serial = getPlayerSerial(jog)
				local password = tostring(val2)
				local nmAccount = getAccountName(getPlayerAccount(jog))
				local PosX, PosY, PosZ = getElementPosition(jog)
				executeSQLQuery( "INSERT INTO registroPessoal (username, password, mtaserial, PosX, PosY, PosZ, accountName) valorS(?,?,?,?,?,?,?)", val1, password, serial, PosX, PosY, PosZ, nmAccount )
				outputChatBox("Registro bem sucedido!", jog)
			end
		end
	end
end)

addCommandHandler("deltable", function()
	executeSQLQuery("DROP TABLE registroPessoal")
	outputDebugString("table deletada")
end
)

Fiz a debugação e a função de registrar para antes do for _, search, no caso no outPutDebugString("04"), a partir disto não se lê mais nada, então o problema deve se encontrar no dbPoll... Porém como não tenho muito conhecimento não sei oq esta sendo feito de errado...

Share this post


Link to post

Você está misturando as funções SQL embutidas no MTA com funcões db*

Outro problema pode estar na sintaxe da linha 5. E na linha 32 tem um erro onde a keyword VALUES está com 'valorS'.

  • Thanks 1

Share this post


Link to post

@DNL291 Sim sim, acabei mudando mas mesmo assim o erro/bug persistiu... Acabei desistindo de SQLITE com um tempo maior vou tentar correr atras disto aproveitando o tutorial do Lord... Tecnicamente ele se parece com o MYSQL mas ao mesmo tempo não se parece sei lá xD. Mas enfim agradeço a vcs pela ajuda! 

Share this post


Link to post

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.