Olá a todos, estou desenvolvendo um sistema p arduino em C, tenho que consultar a base de dados, e realizar uma consulta pelo id que virá de uma entrada,  consegui realizar a conexao e a consulta de todos os dados ao mesmo tempo, porém n consegui realizar a consulta específica como por exemplo buscar o nome da pessoa ou qualquer outro dado pelo ID e também preciso  colocar o resultado dessa consulta específica em uma outra variável, estou usando a lib MySQL_Connection.h mas não existe exemplos desse tipo de consulta específica, quem puder me ajudar desde já agradeço mto! Segue o código:

 

#include <Ethernet.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
#include <avr/pgmspace.h>
#include <Dns.h>


byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
char hostname[] = "meuhost.com";
char user[] = "eumesmo";
char password[] = "***********";

IPAddress server_ip;
EthernetClient client;
MySQL_Connection conn((Client *)&client);
DNSClient dns_client;

void setup() {
Serial.begin(115200);
while (!Serial);
Ethernet.begin(mac_addr);
dns_client.begin(Ethernet.dnsServerIP());
dns_client.getHostByName(hostname, server_ip);
Serial.println(server_ip);
Serial.println("Conectando...");
if (conn.connect(server_ip, 3306, user, password)) {
delay(100);
Serial.println("Conectado com Sucesso!");
}
else{
Serial.println("Conexao falhou!");
conn.close();
}
}

void loop() {

String id="1"; // AQUI SERIA ATRIBUIDO ID 1 Á VARIAVEL INT ID.

const char PROGMEM query[] = "SELECT * FROM db_cliente.Tabela_clientes WHERE  id = id ";

// Assim ta buscando todos os registros e não o registro com ID = 1, n sei o q ta acontecendo!

MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(query, true);
cur_mem->show_results(); //Preciso Atribuir o resultado daqui, á uma variavel e tambem n consegui!

delete cur_mem;

}

Exibições: 702

Responder esta

Respostas a este tópico

faça um teste, substitua por essa linha abaixo:

const char PROGMEM query[] = "SELECT * FROM db_cliente.Tabela_clientes WHERE  id =  " + id ;

Olá João, obrigado pela resposta, porém isso já havia tentado e da o seguinte erro:

Arduino: 1.8.2 (Windows 7), Placa:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

sketch_sep12b:13: error: initializer fails to determine size of 'query'

const char PROGMEM query[] = "SELECT * FROM db_cliente.Tabela_clientes WHERE id = " + id ;

^

sketch_sep12b:13: error: array must be initialized with a brace-enclosed initializer

exit status 1
initializer fails to determine size of 'query'

Este relatório teria mais informações com
"Mostrar a saida detalhada durante a compilação"
opção pode ser ativada em "Arquivo -> Preferências"

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço