zoukankan      html  css  js  c++  java
  • 【数据库开发】 C连接mysql——常用的函数

    转载:http://blog.chinaunix.net/uid-26758020-id-3288633.html
    1、MYSQL *mysql_init(MYSQL *mysql)

       为mysql_real_connect()分配或初始化一个MYSQL对象。若mysql为NULL,函数为其分配,初始化并返回一个新对象;否则对象被初始化并返回该对象的地址。
       返回值:一个被初始化了的MYSQL* handle,若内存不足返回NULL。
     
     
    2、int mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)

       为连接设置一些连接项。必须在mysql_init()之后,mysql_real_connect()之前调用该函数。
     
     
    3、MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)

       试图与运行在host上的mysql数据库建立一个连接。在调用该函数之前,必须先调用mysql_init()初始化MYSQL结构体。
       返回值:连接成功返回A MYSQL* connection handle,连接失败返回NULL。
     
     
    4、int mysql_query(MYSQL *mysql, const char *stmt_str)

       执行由stmt_str指向的SQL语句。不能执行包含二进制的数据(字符“”是二进制数据),但mysql_real_query()可以;通常使用单独的SQL语句(不带“;”的),也可调用mysql_real_connect() 或mysql_set_server_option()指定以分号分隔的多个SQL语句
       返回值:SQL语句执行成功返回0,出错返回非0。
     
     
    5、int mysql_real_query(MYSQL *mysql, const char *stmt_str, unsigned long length)

       length是字符串stmt_str的字节数。除能执行二进制的SQL语句外,其他与mysql_query()相同。
     
     
    6、MYSQL_RES *mysql_use_result(MYSQL *mysql)

       在调用mysql_query()或mysql_real_query()之后,必须调用mysql_store_result()或mysql_use_result()才能产生一个结果集,在完成对结果集的处理之后,必须调用mysql_free_result()释放结果集
       初始化一个结果集检索,但并不像mysql_store_result()那样把结果集读到client,而是通过调用mysql_fetch_row()进行逐行检索,直到返回一个NULL,直接从server读取,节省时间和空间
       返回值:成功返回一个MYSQL_RES结构体,出错返回NULL
     
     
    7、MYSQL_RES *mysql_store_result(MYSQL *mysql)

       同mysql_use_result()
     
     
    8、int mysql_next_result(MYSQL *mysql)

       该函数用来在由多个SQL语句构成的单独语句字符串时执行。在每次调用该函数之前,一定要使用  mysql_free_result()释放当前的语句的结果集。
     
     
    9、MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)

       检索结果集中的下一行,使用完mysql_store_result()后,无要检索的行返回NULL。使用完mysql_use_result()后,无要检索的行或出错返回NULL。
       每行的值的个数可由mysql_num_fields(result)获知,如果row保存mysql_fetch_row()的返回值,则指向值的指针是row[0] to row[mysql_num_fields(result)-1],空值由NULL指向
       返回值:成功返回下一行的MYSQL_ROW structure,出错或没有要检索的行返回NULL
     
     
    10、void mysql_close(MYSQL *mysql)

       关闭先前打开的连接,同时也释放由mysql指向的连接handle,若handle是由mysql_init() or mysql_connect()分配的。
  • 相关阅读:
    STL特性总述——写在前面
    C++多线程框架
    C++内存管理之unique_ptr
    ubuntu文本模式/终端中文乱码解决
    log4net日志在app.config中assembly不起作用
    解决多线程委托二义性问题
    IIS 中文文件名下载会出现403访问被拒绝
    C# 异常:从作用域“”引用了“FiasHostApp.Entity.DBEntity.FIAS_RM_v1.ITraNetMgrUnitBaseInfoRecord”类型的变量“w”,但该变量未定义
    C# string.Split对于换行符的分隔正确用法
    knockoutJS+knockout.multimodels使用记录
  • 原文地址:https://www.cnblogs.com/huty/p/8517472.html
Copyright © 2011-2022 走看看