1
resposta

SELECT do SQL Server no Python

Boa tarde!

Gostaria da ajuda de alguém, estou tentando incluir minha select SQL para ser exibida em um programa Python, porém só consigo exibir o resultado da primeira linha. A conexão com o banco de dados está OK e no SQL a select exibe o resultado correto.

No SQL está correto, segue os prints pra exemplificar:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Além daquele erro ali:

DeprecationWarning: PyUnicode_FromUnicode(NULL, size) is deprecated; use PyUnicode_New() instead print(questao6)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obrigado!

1 resposta

Olá Leonardo, tudo bem com você?

Peço desculpas pela demora em lhe responder.

O retorno de apenas um resultado está acontecendo devido ao uso do método fetchone(). Esse método retorna apenas um registro do banco de dados. Para que seja coletado todos os registros usamos o método fetchall(). Sendo assim, peço que modifique a declaração da variável questao6, deixando-a como apresentado abaixo.

questao6 = cursor.fetchall()

Em relação a mensagem que aparece no terminal, é um warning, um aviso que não afeta o funcionamento do código. Esse warning ocorre nas versões mais recentes do Python (3.9 em diante) que tem uma incompatibilidade em alguns módulos da biblioteca pyodbc. No entanto, vale ressaltar que esse erro já foi reportado no Github desta biblioteca e os desenvolvedores dessa ferramenta já estão trabalhando nisso, você pode acessar o report/issue que foi feito no github neste link.

Para contornar esse aviso, como não afeta o funcionamento do código e principalmente por depender de uma implementação interna da biblioteca pyodbc, podemos ignorar esse warning, executando o comando abaixo no terminal:

python -W ignore::DeprecationWarning <nome_do_arquivo.py>

Após executar o comando abaixo, a mensagem DeprecationWarning: PyUnicode_FromUnicode(NULL, size) is deprecated não será apresentada após a execução do arquivo escolhido.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!