WEB开发网
开发学院数据库MySQL Mysql入门系列:MYSQL客户机程序3—产生连接代码模... 阅读

Mysql入门系列:MYSQL客户机程序3—产生连接代码模块

 2006-12-31 10:51:36 来源:WEB开发网   
核心提示: 除了下述两点以外, do_connect() 的这个修改过的版本和前一个版本在外观上是完全一样的:■ 它不将db_name 参数传递给mysql_real_connect() 较早的格式,Mysql入门系列:MYSQL客户机程序3—产生连接代码模块(3),因为那个版本没有这样的参数,■ 如

除了下述两点以外, do_connect() 的这个修改过的版本和前一个版本在外观上是完全一样的:

■ 它不将db_name 参数传递给mysql_real_connect() 较早的格式,因为那个版本没有这样的参数。

■ 如果数据库名称是非NULL 的,则do_connect() 调用mysql_select_db() 使指定的数据库为当前数据库(这类似于没有db_name 参数的效果)。如果没有选择这个数据库,则do_connect() 打印一个错误消息,关闭连接,并返回NULL 来表示失败。

■ 样例2 该样例是在对第一个样例的do_connect() 做更改的基础上建立的。那些更改导致对错误函数mysql_errno() 和mysql_error() 的三组调用。每次都将报告问题的这些代码书写出来是非常讨厌的。除此之外,错误所打印出的代码看起来不舒服,读起

来也困难。而读下面这样的代码就比较容易:

print_error (conn, “mysql_real_connect() failed”) ;所以,让我们在print_error() 函数中封装错误打印。即使conn 为NULL,也可以编写它来做一些明智的事情。也就是说,如果mysql_init() 调用失败,可以使用print _error( )。而且没有混合调用(一些为fprintf ( ),一些为print _ error( ))。我听到一些反对意见:“为了想报告一个错误而又不必每次都调用两个错误函数,所以使代码故意编写得难以阅读,以说明封装样例更好。其实不用真的写出所有的错误打印代码:只将它编写一次,然后当再次需要时就使用拷贝和粘贴即可。”这种观点是正确的,但我持反对意见,理由如下:

上一页  1 2 3 4  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接