6-Sixth Semester/System/SistemaFinal.c
void bt_consultar_consultas_clicked_cb(GtkWidget *widget, gpointer data){
    
    //Mostra na interface gráfica os registros
    GtkTreeIter iter; //para trabalhar com list store(interface gráfica)
    gtk_list_store_clear(modelo_armazenamento2); //limpa a list store, para nao escrever embaixo
    
    
    //--TESTE-- Consulta no banco de dados
    system("clear");
            
    //inicio-teste consulta
    MYSQL conexao;
    MYSQL_RES *resp;
    MYSQL_ROW linhas;
    MYSQL_FIELD *campos;
    char query[]="SELECT codigo_consulta, paciente, data_consulta, horario FROM consulta;";
    int conta; //Contador comum

    mysql_init(&conexao);
    if (mysql_real_connect(&conexao, host, user, pass, db_name, port, NULL, 0))
    {
               
    if (mysql_query(&conexao,query))
                    printf("Erro: %s\n", mysql_error(&conexao));
    else
    {
        resp = mysql_store_result(&conexao);//recebe a consulta
    if (resp) //se houver consulta
    {
        //passa os dados dos campos para a variável campos
        //escreve na tela os nomes dos campos dando
        //um tab somente
        campos = mysql_fetch_fields(resp);

        for (conta=0;conta<mysql_num_fields(resp);conta++){
            printf("%s",(campos[conta]).name);
            if (mysql_num_fields(resp)>1)
            printf("\t");
        }
        
        printf("\n");  

        //enquanto retornar registros, conta até o
        //número de colunas que a tabela tem e escreve na
        //tela com um tab, depois pula a linha e tenta
        //pegar outro registro
        while ((linhas=mysql_fetch_row(resp)) != NULL)
        {
            
            gtk_list_store_append(modelo_armazenamento2, &iter); //adiciona nova linha para visualização
            gtk_list_store_set(modelo_armazenamento2, &iter,
                            0, linhas[0],
                            1, linhas[1],
                            2, linhas[2],
                            3, linhas[3],
                            4, linhas[4],
                            -1);
        }
        }
            mysql_free_result(resp);//limpa a variável do resultado: resp
        }
            mysql_close(&conexao);
        }
        else
        {
            printf("Conexao Falhou\n");
            if (mysql_errno(&conexao))
            printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
        } //fim-teste consulta
        
}
//--CONSULTAR CONSULTAS-- consultar consultas marcadas no sistema
CONSULTAR CONSULTAS-- consultar consultas marcadas no sistema
CONSULTAR CONSULTAS -- consultar consultas marcadas no sistema
void bt_consultar_consultas_clicked_cb(GtkWidget *widget, gpointer data){
    GtkTreeIter iter; 
    gtk_list_store_clear(modelo_armazenamento2); 
    system("clear");
    MYSQL conexao;
    MYSQL_RES *resp;
    MYSQL_ROW linhas;
    MYSQL_FIELD *campos;
    char query[]="SELECT codigo_consulta, paciente, data_consulta, horario FROM consulta;";
    int conta; 
    mysql_init(&conexao);
    if (mysql_real_connect(&conexao, host, user, pass, db_name, port, NULL, 0))
    {
    if (mysql_query(&conexao,query))
                    printf("Erro: %s\n", mysql_error(&conexao));
    else
    {
        resp = mysql_store_result(&conexao);
    if (resp) 
    {
        campos = mysql_fetch_fields(resp);
        for (conta=0;conta<mysql_num_fields(resp);conta++){
            printf("%s",(campos[conta]).name);
            if (mysql_num_fields(resp)>1)
            printf("\t");
        }
        printf("\n");  
        while ((linhas=mysql_fetch_row(resp)) != NULL)
        {
            gtk_list_store_append(modelo_armazenamento2, &iter); 
            gtk_list_store_set(modelo_armazenamento2, &iter,
                            0, linhas[0],
                            1, linhas[1],
                            2, linhas[2],
                            3, linhas[3],
                            4, linhas[4],
                            -1);
        }
        }
            mysql_free_result(resp);
        }
            mysql_close(&conexao);
        }
        else
        {
            printf("Conexao Falhou\n");
            if (mysql_errno(&conexao))
            printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
        } 
}
void bt_consultar_consultas_clicked_cb ( GtkWidget * widget , gpointer data ) { GtkTreeIter iter ; gtk_list_store_clear ( modelo_armazenamento2 ) ; system ( " " ) ; MYSQL conexao ; MYSQL_RES * resp ; MYSQL_ROW linhas ; MYSQL_FIELD * campos ; char query [ ] = " " ; int conta ; mysql_init ( & conexao ) ; if ( mysql_real_connect ( & conexao , host , user , pass , db_name , port , NULL , 0 ) ) { if ( mysql_query ( & conexao , query ) ) printf ( " \n " , mysql_error ( & conexao ) ) ; else { resp = mysql_store_result ( & conexao ) ; if ( resp ) { campos = mysql_fetch_fields ( resp ) ; for ( conta = 0 ; conta < mysql_num_fields ( resp ) ; conta ++ ) { printf ( " " , ( campos [ conta ] ) . name ) ; if ( mysql_num_fields ( resp ) > 1 ) printf ( " \t " ) ; } printf ( " \n " ) ; while ( ( linhas = mysql_fetch_row ( resp ) ) != NULL ) { gtk_list_store_append ( modelo_armazenamento2 , & iter ) ; gtk_list_store_set ( modelo_armazenamento2 , & iter , 0 , linhas [ 0 ] , 1 , linhas [ 1 ] , 2 , linhas [ 2 ] , 3 , linhas [ 3 ] , 4 , linhas [ 4 ] , -1 ) ; } } mysql_free_result ( resp ) ; } mysql_close ( & conexao ) ; } else { printf ( " \n " ) ; if ( mysql_errno ( & conexao ) ) printf ( " \n " , mysql_errno ( & conexao ) , mysql_error ( & conexao ) ) ; } }
CONSULTAR CONSULTAS-- consultar consultas marcadas no sistema
CONSULTAR CONSULTAS -- consultar consultas marcadas no sistema
//Mostra na interface gráfica os registros //para trabalhar com list store(interface gráfica) //limpa a list store, para nao escrever embaixo //--TESTE-- Consulta no banco de dados //inicio-teste consulta //Contador comum //recebe a consulta //se houver consulta //passa os dados dos campos para a variável campos //escreve na tela os nomes dos campos dando //um tab somente //enquanto retornar registros, conta até o //número de colunas que a tabela tem e escreve na //tela com um tab, depois pula a linha e tenta //pegar outro registro //adiciona nova linha para visualização //limpa a variável do resultado: resp //fim-teste consulta