C++连接数据库并实现读写操作

来源:互联网 发布:linux下启动tomcat服务 编辑:程序博客网 时间:2024/06/06 23:17

第一步:下载安装MySQL,注意必须complete才有c++接口。

第二步:提前创建一个数据库。

第三步:进入vs2010建立一个项目。

第四步:配置VC++目录的包含目录如下图所示:

配置库目录如下图所示:

配置引用目录如下图所示:

第五步:将MySQL.dll文件拷贝到自己工程的根目录下。

  最后代码如下所示:

     

#include <windows.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <mysql.h> #include <iostream>#pragma comment(lib,"libmysql.lib")//连接MysQL需要的库using namespace std;int main(){    const char user[] = "root";         //username    const char pswd[] = "123";    //password    const char host[] = "localhost";    //or"127.0.0.1"    const char table[] ="test";       //database    unsigned int port = 3306;           //server port            MYSQL myCont;    MYSQL_RES *result;    MYSQL_ROW sql_row;    MYSQL_FIELD *fd;    char column[32][32];    int res;char sql_insert[200];int no=4;    mysql_init(&myCont);    if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0))    {           cout<<"connect succeed!"<<endl;        mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文        sprintf(sql_insert, "insert into t_user (no) values('%d');",no);        res=mysql_query(&myCont,sql_insert);//res=mysql_query(&myCont,"insert into t_student(no)values(1);"//查询        res=mysql_query(&myCont,"select * from t_user;");//查询        if(!res)        {            result=mysql_store_result(&myCont);//保存查询到的数据到result            if(result)            {                int i,j;                cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;                for(i=0;fd=mysql_fetch_field(result);i++)//获取列名                {                    strcpy(column[i],fd->name);                }                j=mysql_num_fields(result);                for(i=0;i<j;i++)                {                    printf("%s\t",column[i]);                }                printf("\n");                while(sql_row=mysql_fetch_row(result))//获取具体的数据                {                    for(i=0;i<j;i++)                    {                        printf("%s\n",sql_row[i]);                    }                    printf("\n");                }            }        }        else        {            cout<<"query sql failed!"<<endl;        }    }    else    {        cout<<"connect failed!"<<endl;    }    if(result!=NULL) mysql_free_result(result);//释放结果资源    mysql_close(&myCont);//断开连接_sleep(-1);return 0;}

运行效果如下图所示:

如果运行初出现错误,可新建一个平台为X64的继续调试即可

阅读全文
0 0
原创粉丝点击