使用C连接Mysql
2007-11-13 11:03:58 来源:WEB开发网mysql为指向该结构的指针,如果mysql为NULL,则新建并初始化一个MYSQL的数据结构。
新建的结构将在mysql_close()中释放。
---- 若成功,返回初始化的MYSQL数据结构的指针,否则返回NULL。
---- 2. 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 int client_flag)
---- 与MySQL数据库引擎建立连接。在执行进一步的数据操作之前,必须保证mysql_re
al_connect()成功返回。
---- 参数mysql是mysql_init()的返回值;
---- 参数host是运行MySQL数据库引擎的机器的TCP/IP主机名,如为NULL则默认为“lo
calhost”;
---- 参数user和passwd是MySQL数据库的合法用户和口令;
---- 参数db是连接的数据库名;
---- 参数port,unix_socket和client_flag一般取默认值。
---- 3. int mysql_query(MYSQL *mysql, const char *query)
---- 执行query字符串中的SQL语句,query必须以0结尾。如果成功,返回0。
---- 4. MYSQL_RES *mysql_store_result(MYSQL *mysql)
---- 返回SELECT,SHOW,DESCRIBE, EXPLAIN等语句执行的结果。函数新建一个MYSQL_
RES的数据结构,把结果存储在该结构中。如果查询没有匹配的结果,则返回空数据集。
处理完结果集后,必须调用mysql_free_result()。
---- 如果出错,返回NULL,否则返回MYSQL_RES结构的指针。
---- 5. MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
---- 取回结果集中的下一条记录,如果没有记录或出错,返回NULL。一条记录中的字段
数可以用mysql_num_fields(result)获得,各字段的值可以用row[0] 到 row[mysql_nu
m_fields(result)-1]的数组来访问。
---- 在工程的链接选项中,加入c:mysqlliblibmysql.lib的接口库,把libmysql.d
ll复制到操作系统的system目录下(c:winntsystem32),就可以编译运行了。
---- 到这里,一个简单的数据库应用就开发完成了。当然,MySQL有一套功能丰富的AP
I,大家可以查看文档。另外,如果需要跨平台的移植性,可以考虑用MySQL的ODBC接口
。可以自己配置MySQL的ODBC连接属性,也可以下载myodbc-2.50.29-nt.zip工具包来配
置。
四、总结
---- 作者用MySQL在Windows NT上构建了高性能、高稳定性的数据库系统。这样,既可
以利用Windows NT和Visual C++的友好界面,又可以获得MySQL的强大功能。实践证明,
这种方案成本低(别忘了MySQL是免费的)、效率高、开发周期短、运行稳定(MySQL的
稳定性在Yahoo、163、263等站点获得了极高的评价)。
---- 目前,我的股市行情查询和交易系统已经获得了每秒钟记录70-100条股票行情数
据,同时响应50个并发用户进行数据查询的性能,而系统的开发、运行成本却大幅降低
。如果您正为PC上的数据库效率发愁,不妨也来试试MySQL吧。
更多精彩
赞助商链接