2011/09/27

用C 連結 MySQL 範例

#include "stdio.h"
#include "stdlib.h"
#include "mysql.h"

#define HOST "127.0.0.1"
#define USER "root"
#define PASSWORD "654321"
#define DB "test"

main()
{
        MYSQL mysql;
        MYSQL_RES *result;
        MYSQL_ROW row;

        char number="";
        char name[50]="";
        char sex="";
        int age;
        float pay;

        char query[200]="";
        char delete[200]="";
        char insert[400]="";
        char update[200]="";
        float max_pay;

        mysql_init(&mysql);
        if ( !mysql_real_connect(&mysql,HOST,USER,PASSWORD,DB,0,NULL,0) ) { /*连接*/
                printf("connect mysql fail!!!\n");
                exit(0);
        }

        strcpy(query,"SELECT `FNUMBER`, `FNAME`, `FSEX`, `FPAY` FROM `PAY` WHERE `FAGE` > 20"); /*查询*/
        if (mysql_query(&mysql,query) != 0) { /*执行SQL语句*/
                printf("SELECT ERROR!!!\n");
                mysql_close(&mysql);
                exit(0);
        }
        result = mysql_store_result(&mysql);
        while ( ( row = mysql_fetch_row(result) ) ) {
                strcpy(number,row[0]);
                strcpy(name,row);
                strcpy(sex,row);
                pay = atof(row);
                if ( pay > max_pay )
                  &nbMYSQL。sp;     max_pay=pay;
                printf("number: %s\t name: %s\t sex: %s\t pay: %f\t\n",number,name,sex,pay);
        }
        printf("max_pay:%f\n",max_pay);
        mysql_free_result(result);

        sprintf(delete,"DELETE FROM `PAY` WHERE `FPAY` = %f",max_pay);
        if (mysql_query(&mysql,delete) != 0) {
                printf("DELETE ERROR!!!\n");
                mysql_close(&mysql);
                exit(0);
        }
        else
                printf("DELETE SUCCEED!!!\n");

        strcpy(insert,"INSERT INTO `PAY` (`FNUMBER`, `FNAME`, `FSEX`, `FAGE`, `FPAY`) VALUES ('000002', 'Aaron', 'men', 30, '6000.00')");
        if (mysql_query(&mysql,insert) != 0) {
                printf("INSERT ERROR!!!\n");
                mysql_close(&mysql);
                exit(0);
        }
        else
                printf("INSERT SUCCEED!!!\n");

        strcpy(update,"UPDATE `PAY` SET `FPAY`=`FPAY` + 1000 WHERE 1");
        if (mysql_query(&mysql,update) != 0) {
                printf("UPDATA ERROR!!!\n");
                mysql_close(&mysql);
                exit(0);
        }
        else
                printf("UPDATA SUCCEED!!!\n");
        mysql_close(&mysql);
}

/*
Ref:
http://dev.mysql.com/downloads/connector/c
*/

沒有留言:

張貼留言