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;
}
Tags:
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"
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por