Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->Linux程序设计 ->正文

锋线上的冲杀——论Linux数据库大比拚

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]

把客户带入MySQL的生活

Mysql的C API是相当易用的。核心元素是包含有关数据库连接的信息和其状态的结构,它通过连接MySQL服务器进行初始化。该结构的一根指针必须被传递给所有的 MySQL 客户函数。

查询以字符串提交;这意味着一个人必须处理 C 字符串变换功能,包含空字节(\0) 的数据应该能使用,情况变得更复杂了,因为随后传递了一个计数字符串而不是一个 C字符串。

为了获取查询结果,一个指向MYSQL_RES结构的指针和一个数值变量用适当的 API 函数初始化,然后把一行取进一个MYSQL_ROW变量,它是一个字符串数组,直接把结果放进整数变量,就像Postgresql的ESQL的实现能做的那样,但这是不可能的,结果缓冲区随后被释放。只要你能理解,语义几乎与在ESQL使用光标相同。



list_books(void) 
{ 
int count; 
MYSQL_RES *result; 
mysql_query(&bookstore, "SELECT ARTICLE_NO, 
AUTHOR_FIRST_NAMES,AUTHOR_LAST_NAMES,
TITLE, ISBN, WHOLESALE_PRICE, RETAIL_PRICE,
COPIES_AVAILABLE FROM BOOK"); 
result = mysql_store_result(&bookstore); 
for(count = mysql_num_rows(result); count > 0; count--) 
{ 
MYSQL_ROW record; 
record = mysql_fetch_row(result); 
printf("\nArticle no. %s\n", record[0]); 
printf("%s, %s:\n", record[2], record[1]); 
printf(" %s (%s)\n", record[3], record[4]); 
printf("Bought at %s; selling at %s; %s copies available\n\n", 
record[5], record[6], record[7]); 
}; 
mysql_free_result(result); 
} 
mysql_free_result ( 结果 ); 
}

API函数简明扼要,但足够了, Texinfo格式的文档作为Mysql文档的主要来源。



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux入门普及读物 解读Linux编程库   下一篇:Linux系统套接字编程中存在的五个隐患

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号