• MySQL Connector 编程


    MySQL Connector 是MySQL数据库客户端编程的接口, 它提供了通过网络访问数据库的接口, 这些功能在动态链接库(.dll, .so)或者静态对象库(.lib, .a)中实现.

    使用时必须注意这些库是32位还是64位的.

    下面是一个例子:

    #include <stdio.h>
    #include
    <stdlib.h> #include <C:Program FilesMySQLMySQL Connector C 6.1includemysql.h> // 使用静态对象库 //#pragma comment(lib, "C:\Program Files\MySQL\MySQL Connector C 6.1\lib\vs12\mysqlclient.lib") // 使用动态链接库 // 确保 libmysql.dll 在系统路径中可以搜到 #pragma comment(lib, "C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib") void simpleUsega() { MYSQL *conn; conn = mysql_init(NULL); if (conn == NULL) { printf("Error %u: %s ", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_real_connect(conn, "localhost", "user_name", "user_password", NULL, 0, NULL, 0) == NULL) { printf("Error %u: %s ", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_query(conn, "create database frist_db")) { printf("Error %u: %s ", mysql_errno(conn), mysql_error(conn)); exit(1); } mysql_close(conn); } int main() { MYSQL *mysql = NULL; char pwd[1024]; char usr[1024]; printf("Target platform word length : %d ", sizeof(void*) ); printf("Connector version: %s ", mysql_get_client_info()); //simpleUsage(); //return 0; printf("Initializing MySQL Connector... ");
    mysql_library_init(
    0, NULL, NULL); // 在其他work线程产生之前初始化mysql c库, 不要让mysql_init来调用, 否则可能导致线程安全问题 if (!(mysql = mysql_init(NULL))) { printf("Field. "); goto end; } printf("OK, Conecting... ");

      // 配置用户和密码
    if (0) { printf("Please keyin user_name and password " "name: "); scanf_s("%s", usr, 1024); printf("pwd : "); scanf_s("%s", pwd, 1024); } else { sprintf_s(usr, 1024, "default_user_name"); sprintf_s(pwd, 1024, "default_user_password"); }

      // 连接 localhost 上的服务器
    if (!mysql_real_connect(mysql, "localhost", usr, pwd, (const char*) 0, 3306, NULL, 0)) { printf("Filed, Error %u, %s ", mysql_errno(mysql), mysql_error(mysql) ); goto end; } printf("Login succeed. "); // 销毁密码 sprintf_s(pwd, 1024, "00000000000000");
      // 查询数据库服务器时间 mysql_query(mysql,
    "SELECT NOW();"); if (!mysql_errno(mysql)) { MYSQL_RES *result; MYSQL_ROW row; int num_fields; int i; result = mysql_store_result(mysql); num_fields = mysql_num_fields(result); while ((row = mysql_fetch_row(result))) { for(i = 0; i < num_fields; i++) { printf("%s ", row[i] ? row[i] : "NULL"); } printf(" "); } mysql_free_result(result); } end: system("pause"); mysql_close(mysql); mysql_library_end();
      return 0; }
  • 相关阅读:
    设计模式之访问者模式
    设计模式之命令模式
    设计模式之迭代器模式
    tomcat8.0.11性能优化
    java 基础 --集合--012
    StringBuffer和StringBuilder的区别
    jquery 入门
    java 基础 --匿名内部类-008
    java 基础 --多态--009
    java 基础--继承--007
  • 原文地址:https://www.cnblogs.com/develon/p/9062821.html
Copyright © 2020-2023  润新知