问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么用c++调用writefile与鼠标驱动交互

发布网友 发布时间:2022-04-12 21:54

我来回答

2个回答

懂视网 时间:2022-04-13 02:15

MySQL database does support C program API just like PHP or perl.

The C API code is distributed with MySQL. It is included in the mysqlclient library and allows C programs to access a database.

Many of the clients in the MySQL source distribution are written in C. If you are looking for examples that demonstrate how to use the C API, take a look at these clients. You can find these in the clients directory in the MySQL source distribution.

Requirements

Make sure you have development environment installed such as gcc, mysql development package etc. Following is the list summarize the list of packages to compile program:

  • mysql: MySQL client programs and shared library
  • mysqlclient: Backlevel MySQL shared libraries (old libs)
  • mysql-devel: Files for development of MySQL applications (a must have)
  • mysql-server: Mysql server itself
  • gcc, make and other development libs: GNU C compiler
  • Sample C Program

    Following instructions should work on any Linux distro or UNIX computer. Here is the small program that connects to mysql server and list tables from mysql database.(download link):

    
    
    
    
    
    
    

    How do I compile and link program against MySQL libs?

    MySQL comes with a special script called mysql_config. It provides you with useful information for compiling your MySQL client and connecting it to MySQL database server. You need to use following two options.
    Pass --libs option - Libraries and options required to link with the MySQL client library.

    $ mysql_config --libs
    Output:

    -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto

    Pass --cflags option - Compiler flags to find include files and critical compiler flags and defines used when compiling the libmysqlclient library.
    $ mysql_config --cflags
    Output:

    -I/usr/include/mysql -g -pipe -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing

    You need to pass above option to GNU C compiler i.e. gcc. So to compile above program, enter:
    $ gcc -o output-file $(mysql_config --cflags)mysql-c-api.c $(mysql_config --libs)
    Now execute program:
    $ ./output-file
    Output:

    MySQL Tables in mysql database:
    
    
    columns_priv
    
    
    db
    
    
    func
    
    
    help_category
    
    
    help_keyword
    
    
    help_relation
    
    
    help_topic
    
    
    host
    
    
    tables_priv
    
    
    time_zone
    
    
    time_zone_leap_second
    
    
    time_zone_name
    
    
    time_zone_transition
    
    
    time_zone_transition_type
    
    
    user 

    References:

  • MySQL C API - A must read - official MySQL C API documentation
  • 热心网友 时间:2022-04-12 23:23

    1、用CAPI连接MySQL数据库有两个步骤:
    1)初始化一个连接句柄
    2)建立连接
    所用到的函数如下:
    MYSQL *mysql_init(MYSQL *connection); // 初始化连接句柄
    //成功返回MySQL结构指针,失败返回NULL

    MYSQL *mysql_real_connect(MYSQL *connection,
    const char *server_host,
    const char *sql_user_name,
    const char *sql_password,
    const char *db_name,
    unsigned int port_number,
    const char *unix_socket_name,
    unsigned int flags); //建立连接
    //成功返回MySQL结构指针,失败返回NULL
    以下是完整实例:

    #include
    #include
    #include
    #include mysql.h>

    using namespace std;

    void mysql_err_function(MYSQL * connection);

    int main()
    {
    //freopen("input.txt","r",stdin);

    MYSQL * connection;
    connection = mysql_init(NULL);

    if (!connection)
    {
    cout << "mysql_init failed!" << endl;

    exit(-1);
    }

    if (!mysql_real_connect(connection,"localhost","root","123456","test",0,NULL,0))
    {
    cout << "Connection To MySQL failed!" << endl;
    mysql_err_function(connection);
    }

    cout << "Connection To MySQL Server is Success..." << endl;

    string str;
    getline(cin,str);

    int res = 0;
    int affected_count = 0;
    while (str != "close" && str != "" && !res)
    {
    res = mysql_query(connection,str.c_str());

    affected_count += mysql_affected_rows(connection);

    if (res)
    {
    if (mysql_errno(connection))
    {
    cout << "Error " << mysql_errno(connection) << " : "
    << mysql_error(connection) << '\n' << endl;
    break;
    }
    }
    getline(cin,str);
    }

    cout << "Have affected " << affected_count << " rows!" << endl;

    mysql_close(connection);
    cout << "Connection To MySQL Server is closed..." << endl;

    return 0;
    }

    void mysql_err_function(MYSQL * connection)
    {
    if (mysql_errno(connection))
    {
    cout << "Error " << mysql_errno(connection) << " : "
    << mysql_error(connection) << endl;

    exit(-1);
    }
    }
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    吃干燥剂会有什么反应 干燥剂不慎食用怎么办 于冕被流放多少时间才回来 石羊场客运站坐几路公汽到成都市龙潭社区保平村九组? 从成都石羊场到龙潭寺北湖客运站做地铁公交咋个赶车呀?老师们_百度知 ... 成都理工大学坐车到石羊场客运站怎么走?大概要多久啊?谢谢!! 请问一下成都理工大学到石羊车站怎么做车啊? 还在盲目护理毛孔吗?如何正确护理毛孔? 毛孔粗大该如何处理? 脸t区毛孔粗大怎么办 毛孔粗大的原因是什么 员工离职当天结算工资吗 在公司辞职了,可以当天结工资吗? 辞职后是不是应该立即结算清工资? 肾结石是怎么形成的?要注意什么? 离职当天是否可以应该结算清所有工资 结石是怎么形成的啊! 离职是否应结算清工资 正常辞职,离职时是不是要当天结清工资呀? 辞职是不是应该当场结算好工资 员工可以在离职当天要求公司一次性将工资结算清楚吗?公司同意吗? 辞职当天应该把工资结算清楚吗 工行网银电子密码器丢失怎么办 含税到岸价,不含税到岸价,离岸价什么意思?只有进口食品的价格是这样分的吗? 白裤子上的污渍怎么洗啊? 丹麦的食品怎么进口,关税多少 为什么进口食品加税还比国产的便宜? 中国进口保健食品关税是多少 进口食品关税是多少? 如何加强我市教学教研工作提出意见和建议 对学校教研活动如何开展与氛围营造的个人看法 学历证明的网站是什么 移动硬盘在计算机管理中的磁盘管理中显示 磁盘1未知 没有初始化, 点 我的D盘不见了,磁盘管理中也就只有一个C盘,磁盘一显示未知没有初始化,我该怎么恢复D盘 移动硬盘在电脑的磁盘管理里显示磁盘1未知,没有初始化是什么原因?怎么解决? 摩羯女和白羊男恋爱会配吗? 白羊座男喜欢上摩羯座女生是啥体验? 白羊座会爱上摩羯座女生吗? 普通话一年考几次?几月份考? 白羊男会爱摩羯女吗 移动硬盘,电脑读取失败,磁盘管理显示,磁盘1 未知 没有初始化 右击 白羊座的男孩与魔蝎座的女孩配吗? 保时捷和法拉利的车标有什么区别啊? 白羊男 会喜欢摩羯女么 硬盘“磁盘1 未知 没有初始化” 白羊座男人会喜欢摩羯座女生吗? 怎么用c++导出mysql数据库的数据 白羊座的我爱上了女摩羯座 移动硬盘无法识别,磁盘管理显示 磁盘1 未知 没格式化 白羊男 喜欢上一个摩羯女 移动硬盘不显示盘符 管理中设备管理器显示运行正常 磁盘管理显示“磁盘1 未知 没有初始化”