Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabiom2211

[Resolvido] Como faço uma consulta com uma variavel

Recommended Posts

tenho o seguinte programa


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <mysql/mysql.h>
#include <string.h>

int main(void)
{
MYSQL conexao;
MYSQL_RES *resp;
MYSQL_ROW linhas;
MYSQL_FIELD *campos;


int i, j, k;

char* x[3]={"canal_venda","produto","vendedor"};
for (i=0;i<3;i++)
       for (j=0;j<3;j++)
         for (k=0;k<3;k++)
               if(i!=j && i!=k && k!=j)

{
char query[]="SELECT * FROM vd_dia_prod_vend ";
====================================================================================
nessa parte da query eu queria colocar a variavel
por exemplo.:
char query[]="SELECT x[i],x[j],x[k] FROM vd_dia_prod_vend ";




Compartilhar este post


Link para o post
Compartilhar em outros sites

se você leu msm sobre sprintf, você saberia onde colocar, poste seus avanços e duvidas!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eu tentei colocar mais não da, fica dando erro na query...

não consigo colocar a variavel dentro da query..

query[]="SELECT x,x[j],x[k] FROM vd_dia_prod_vend ";

===============================================================

eu coloquei assim:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <mysql/mysql.h>
#include <string.h>

int main(void)
{
MYSQL conexao;
MYSQL_RES *resp;
MYSQL_ROW linhas;
MYSQL_FIELD *campos;


int i, j, k;

char* x[3]={"canal_venda","produto","vendedor"};
for (i=0;i<3;i++)
       for (j=0;j<3;j++)
         for (k=0;k<3;k++)
               if(i!=j && i!=k && k!=j)

{
     char*      campo1= x[i],n;  
     printf("\n\ncampo: %s \n",x[j]);	

     campo=sprintf (campo1, "%s", x[k]);
     char query[]="SELECT [%s] FROM vd_dia_prod_vend",campo1,campo;
...

 

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo:

 

int a, b, c;
char buff[256];

    a = 12;
    b = a * 2;
    c = a % 10;

    sprintf(buff, "a = %d, b = %d e c = %d\n", a, b, c);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal conseguir fazer...

ficou assim: (a parte em negrito é a mudança...)

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <mysql/mysql.h>
#include <string.h>

int main(void)
{
MYSQL conexao;
MYSQL_RES *resp;
MYSQL_ROW linhas;
MYSQL_FIELD *campos;


int i, j, k;

char* x[3]={"canal_venda","produto","vendedor"};
for (i=0;i<3;i++)
       for (j=0;j<3;j++)
         for (k=0;k<3;k++)
               if(i!=j && i!=k && k!=j)

{

[b]       char* query[1000];
      sprintf(query,"\n SELECT %s FROM vd_dia_prod_vend \n",x[i]);
      puts(query);[/b]
....


 

Só uma pequena Obs...

como eu faço para isso nao aperacer na tela???

Compartilhar este post


Link para o post
Compartilhar em outros sites

não...printf só imprime na tela a informaçao

já o sprintf imprime na tela e armazena armazena as informaçoes numa nova variavel...

eu queria armazenar os dados numa nova variavel sem aparecer na tela...

 

Att, Fabio Rosa

Compartilhar este post


Link para o post
Compartilhar em outros sites

a ta entendi q você qria saber como mostrar na tela.

entaum o sprintf n exibe na tela, tenta explicar melhor com algum exemplo se possivel amigo..

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

sprintf NÃO mostra nada na tela, escreve para um buffer passado por parâmetro.

printf escreve num buffer também, acontece que esse buffer é o stdout e então aparece na tela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ueh....

mais aqui ele exibe na tela e depois ele armazena na query...

vou colocar o código onde esta a parte do sprintf...

================================================================


  char* query[1000];
      sprintf(query,"\n SELECT %s FROM vd_dia_prod_vend \n",x[i]);
      puts(query);

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkkkkkk com ctz iria imprimir na tela kkk!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.