⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql-实用技巧-44.htm

📁 微软数据库开发梦工场多媒体教学-My sql篇.rar
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#000000" text="#FFFFFF">
mysql_fetch_lengths()
<p>unsigned long *mysql_fetch_lengths(MYSQL_RES *result) </p>
<p>说明</p>
<p>返回在结果集合内的当前行的列长度。如果你计划拷贝字段值,这个长度信息对优化也是有用的,因为你可以避免调用strlen()。另外,如果结果集合中包含二进制数据,你必须使用这个函数确定数据的大小,因为strlen()对包含空字符的任何字段返回不正确的结果。 
</p>
<p>空列和包含NULL的列的长度值是零。为了看清如何区分这两种情况,见mysql_fetch_row()的说明。</p>
<p>返回值</p>
<p>表示每列大小的无符号长整数的一个数组(不包括任何终止空字符)。如果出现一个错误,NULL。 </p>
<p>错误</p>
<p>mysql_fetch_lengths()只对结果集合的当前行有效。如果你在调用mysql_fetch_row()之前或在检索出在结果中的所有以后,它返回NULL。</p>
<p>范例</p>
<p>MYSQL_ROW row;</p>
<p>unsigned long *lengths;</p>
<p>unsigned int num_fields;</p>
<p>unsigned int i;</p>
<p> </p>
<p>row = mysql_fetch_row(result);</p>
<p>if (row)</p>
<p>{</p>
<p> num_fields = mysql_num_fields(result);</p>
<p> lengths = mysql_fetch_lengths(result);</p>
<p> for(i = 0; i &lt; num_fields; i++)</p>
<p> {</p>
<p> printf(&quot;Column %u is %lu bytes in length.\n&quot;, i, lengths[i]);</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>mysql_fetch_row()</p>
<p>MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) </p>
<p>说明</p>
<p>检索一个结果集合的下一行。当在mysql_store_result()之后使用时,如果没有更多的行可见所时,mysql_fetch_row()返回NULL。当在mysql_use_result()之后使用时,当没有更多的行可检索时或如果出现一个错误,mysql_fetch_row()返回NULL。</p>
<p>在行中值的数量由mysql_num_fields(result)给出。如果row保存了从一个对用mysql_fetch_row()调用返回的值,指向该值的指针作为row[0]到row[mysql_num_fields(result)-1]来存取。在行中的NULL值由NULL指针指出。</p>
<p>在行中字段值的长度可以通过调用mysql_fetch_lengths()获得。空字段和包含NULL的字段长度都是 0;你可以通过检查该值的指针区分他们。如果指针是NULL,字段是NULL;否则字段是空的。</p>
<p>返回值</p>
<p>下一行的一个MYSQL_ROW结构。如果没有更多的行可检索或如果出现一个错误,NULL。</p>
<p>错误</p>
<p>CR_SERVER_LOST </p>
<p>对服务器的连接在查询期间失去。 </p>
<p>CR_UNKNOWN_ERROR </p>
<p>发生一个未知的错误。 </p>
<p>范例</p>
<p>MYSQL_ROW row;</p>
<p>unsigned int num_fields;</p>
<p>unsigned int i;</p>
<p> </p>
<p>num_fields = mysql_num_fields(result);</p>
<p>while ((row = mysql_fetch_row(result)))</p>
<p>{</p>
<p> unsigned long *lengths;</p>
<p> lengths = mysql_fetch_lengths(result);</p>
<p> for(i = 0; i &lt; num_fields; i++)</p>
<p> {</p>
<p> printf(&quot;[%.*s] &quot;, (int) lengths[i], row[i] ? row[i] : &quot;NULL&quot;);</p>
<p> }</p>
<p> printf(&quot;\n&quot;);</p>
<p>}</p>
<p> </p>
<p> <br>
</p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -