Ir para conteúdo
  • 0
Entre para seguir isso  
Urso890

Infraestrutura Dúvida(Consulta com Vários Registros)

Pergunta

Urso890    0
Urso890

The Forgotten Server 1.3, Versão: 10.98

Bom dia pessoal!

Minha dúvida é a seguinte: Estou fazendo um sistema em que vou ter que fazer uma busca por vários registros. Como eu busco e percorro esses registros utilizando as funções existentes?
Eu conheço algumas funções de executar query, buscar resultado, mas não encontrei nenhum exemplo de como percorrer vários resultados. Só encontrei como pegar os valores do primeiro resultado.

Ex: De código

Spoiler

-- Executa uma query
local resultId = db.storeQuery("SELECT  * FROM players") -- -> Como percorrer todos os resultados recuperados(Isso é um exemplo de query com vários                                                                                                                                             --        resultados, não é essa query que quero executar ^^)

Obs: Sei mexer com banco de dados, não sei percorrer as linhas do resultado utilizando os comandos lua do servidor Forgotten.

Editado por Urso890
Esqueci um detalhe

Compartilhar este post


Link para o post
Compartilhar em outros sites

6 respostass a esta questão

Recommended Posts

  • 0
TheRatazana    8
TheRatazana

O seguinte código é a solução do problema:

local resultId = db.storeQuery("SELECT * FROM players")
repeat
    print(result.getDataString(resultId, "name"))
until not result.next(resultId)

 

Testado pelo Autor do thread(Urso890). Suporte via Discord(#suporte)

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
lucasalmeidaisp    0
lucasalmeidaisp

Bom dia amigo

Deixa eu ver se eu entendi.
Você quer fazer uma pesquisa de um registro em várias tabelas? Ou vários registros de uma tabela só?

De qualquer forma, veja se isso possa te dar uma luz.

https://social.msdn.microsoft.com/Forums/pt-BR/421eeae7-9311-4bc8-9705-1b5f1f251e46/consulta-sql-por-contedo-do-registro-de-vrias-tabelas?forum=transactsqlpt

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Urso890    0
Urso890

Então, eu quero fazer uma consulta em uma tabela, e trazer vários registros. Isso eu já sei fazer com banco de dados, mas não sei o comando que utiliza no lua do tibia.
Não conseguiu sanar minha dúvida, mas agradeço a tentativa. Minha dúvida persiste.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
lucasalmeidaisp    0
lucasalmeidaisp

@Urso890  saquei, infelizmente eu não sou um expert no codigo lua.

Mas acredito que o  correto seria fazer uma matriz para voce salvar todos os dados puxados da tabela.
Para pular os campo da matriz, voce pode usar um while ou um repeat.
Voce pode fazer isso tanto no c++ quanto no banco de dados, mas acredito que no banco você pode gerar um stress.

Se voce me explicar melhor o que voce queria fazer, posso tentar te ajudar nisso.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Urso890    0
Urso890

Então, não é tão simples. Isso eu também sei. Sei programar em varias linguagens de programação.

Esse é um exemplo de código mais perto de percorrer as linhas de uma consulta que achei, mas ele só verifica se o código existe ou não.

-- Executa uma query com resposta com varias linhas(resultado da pesquisa)
local resultId = db.storeQuery("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. playerGuid)
-- Percorre a resposta do storeQuery
local tmpResultId = resultId -- Atribui o primeiro valor do resultado a variáveltmp
while tmpResultId ~= false do -- Verifica se é falso(acho que vazio), se não for
	tmpResultId = result.next(resultId) -- Pega o próximo resultado e atribui a variável
end
-- Verifica se o resultado não esta vazio. Se não estiver, ele libera os resultados da variável
if resultId ~= false then
	result.free(resultId)
end

Foi o mais próximo que encontrei de percorrer linhas, tentei por varias horas, vários dias,  varias sintaxes, nenhuma funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Urso890    0
Urso890

Resolveu meu problema @TheRatazana. Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×