我知道C ++和(MySQL与PHP)。但现在我需要将MySQL与C ++连接起来。我需要MySQL服务器的帮助,MySQL Connector设置和Code :: Blocks的配置以及连接代码。请帮我。 我只知道Code :: blocks或Visual Studio。关于MySQL服务器和连接器连接器的任何事情我都不知道C ++连接。请帮帮我。
答案 0 :(得分:4)
对于Visual Studio 2010,请设置以下内容:
在Visual Studio中=>> File =>>新=>>项目=>> Visual C ++ =>> CLR =>> CLR空项目
打开项目后,View =>> Solution Explorer =>>在项目名称右键单击=>>属性=>> C / C ++或配置属性=>>一般=>>其他包含目录=>>点击编辑并写:
C:\ Program Files \ MySQL \ include(或安装了MySQL并提及其include文件夹的目录)。
E.g。 (C:\ Program Files \ MySQL \ MySQL Server 5.5 \ include)
现在在相同的属性对话框中导航到Linker =>>一般=>> “添加其他库目录”=>> (写包含.dll或.lib文件的文件夹的路径,例如C:\ Program Files \ MySQL \ Connector ODBC)
E.g。 (C:\ Program Files \ MySQL \ MySQL Connector Net 6.3.0)
在相同的属性对话框中,导航至Linker =>>输入=>>附加依赖项=>> (写下您要使用的.lib文件的名称,例如libmysql.lib或您要使用的任何其他库,位于“附加库目录”上方)。例如。 (libmysql.lib)
最后如果它不起作用,请转到C:\ Program Files \ MySQL \ include(或您安装MySQL的目录并提及其包含文件夹)。
然后在Windows搜索选项中搜索“libmysql.lib”。然后在项目bin debug,release文件夹中复制此lib文件。有时它可能会在错误消息中说出其他一些lib或DLL文件的要求。
在MySQL目录中执行相同的进程搜索并复制粘贴它们。如果这不起作用,那么复制上面提到的DLL,lib文件在项目的每个文件夹中,然后在它必须工作。我是这样做的。
数据库中连接的MySQL代码:
#include "my_global.h"
#include "mysql.h"
#include<time.h>
#include<stdio.h>
#define SERVER "localhost"
#define USER "root"
#define PASSWORD ""
#define DATABASE "database"
int main()
{
char ch;
clock_t begin, end;
//MYSQL *connect=mysql_init(NULL);
//connect=mysql_real_connect(connect,SERVER,USER,PASSWORD,DATABASE,0,NULL,0);
//if( ! connect) { printf("MySQL Initialization or Connection Failed!\n"); return 0; }
//mysql_query(connect,"insert into test values(2)");
//mysql_query(connect,"INSERT INTO student VALUES('111','aaaa','bbbb')");
begin = clock();
//printf("Application SN\tMerit\tAdmission Roll\n-------------- ------- ----------------\n");
MYSQL_RES *res_set; MYSQL_ROW row;
mysql_query(connect,"SELECT * FROM database");
res_set = mysql_store_result(connect); //unsigned int numrows = mysql_num_rows(res_set);
// while ( row = mysql_fetch_row(res_set) )
//printf(" res %s\t",row[0]); /* Print the row data */
end = clock();
printf("Execution Time: %f seconds\n", (double)(end - begin) / CLOCKS_PER_SEC);
mysql_close(connect);
scanf("%c",&ch);
//getch();
//cin>>ch;
return 0;
}
答案 1 :(得分:2)
我正在使用MySql Connector C ++和Visual Studio(2008和2010)。
您需要在网上搜索“MySql Connector C ++示例”。要复制的信息太多了。
还要在StackOverflow中搜索“C ++ connect mysql”。
您可能还想尝试其他连接器。
答案 2 :(得分:0)
此处的工作代码:
#include "stdafx.h"
#include<winsock.h>
#include<stdio.h>
#include <mysql.h>
using namespace System;
int main()
{
MYSQL conn;
MYSQL_RES *res_set;
MYSQL_ROW row;
mysql_init(&conn);
if (!mysql_real_connect(&conn,"localhost","root","","TestDB",0,NULL,0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error(&conn));
}else{
fprintf(stderr, "Successfully connected to Database.\n");
int status= mysql_query(&conn,"SELECT * FROM Login");
res_set = mysql_store_result(&conn);
int count=mysql_num_rows(res_set);
printf("No of rows = %d\n",count);
while ((row = mysql_fetch_row(res_set)) != NULL)
{
for (int i=0; i<mysql_num_fields(res_set); i++)
{
printf("%s \t",row[i] != NULL ? row[i] : "NULL");
}
printf("\n");
}
}
mysql_close(&conn);
getchar();
return 0;
}