当前位置:  开发笔记 > 数据库 > 正文

在SQLite C API中使用sqlite3_data_count()而不是sqlite3_column_count()有什么好处?

如何解决《在SQLiteCAPI中使用sqlite3_data_count()而不是sqlite3_column_count()有什么好处?》经验,为你挑选了1个好方法。

在阅读文档后,似乎函数sqlite3_column_count完全相同,但没有sqlite3_data_count所具有的限制.

为什么我要在sqlite3_column_count上使用sqlite3_data_count?谢谢!



1> Alex Jenter..:

我查了两个函数的来源:

/*
** Return the number of columns in the result set for the statement pStmt.
*/
SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt){
  Vdbe *pVm = (Vdbe *)pStmt;
  return pVm ? pVm->nResColumn : 0;
}

/*
** Return the number of values available from the current row of the
** currently executing statement pStmt.
*/
SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt){
  Vdbe *pVm = (Vdbe *)pStmt;
  if( pVm==0 || pVm->pResultSet==0 ) return 0;
  return pVm->nResColumn;
}

现在很明显有什么区别,所以NickD是对的.

顺便说一句,文档很可怕:"sqlite3_data_count(P)是准备好的语句P的结果集中的列数." 这甚至不是正确的英语,功能定义附带的评论要好得多.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有