Sqlite   发布时间:2022-05-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了sqlite3 判断数据库和表的状态大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
 1、判断数据库是否存在,如果存在rc!=0 否则==0 ,同时数据库不存在的话也不会创建caen.db3,此处与sqlite3_open不用! =》rc = sqlite3_open_v2("caen.db3",&db,@R_879_5607@OPEN_READWRITE,null); 
 

2、判断数据库中某个表的存在,如果sql执行成功zErrMsg=NulL,否则给出错误信息:no sucn table:表名

[java]@H_674_17@ view plain copy print ?
  1. char*zErrMsg;
  2. char*sqls="SELECT*FROMBaseInfo";
  3. char*datatable;
  4. intnRow;
  5. intncolumn;
  6. /**判断有没有这张表**/
  7. if(sqlite3_get_table(db,sqls,&datatable,&nrow,&ncolumn,@R_966_2696@g)!=NulL){

sqlite3_get_table使用举例

voID Gettable()
{
sqlite3 * db;
int result;
char * errmsg = NulL;
char **dbResult; //是 char ** 类型,两个*号
@R_197_9293@Row,ncolumn;
int i,j;
int index;
result = sqlite3_open( “c:\\Dcg_database.db”,&db );
if( result != @R_879_5607@OK )
{
//数据库打开失败
return -1;
}
//数据库操作代码
//假设前面已经创建了 myTable_1 表
//开始查询,传入的 dbResult 已经是 char **,这里又加了一个 & 取地址符,传递进去的就成了 char ***
result = sqlite3_get_table( db,“SELEct * from myTable_1”,&dbResult,&errMsg );
if( @R_879_5607@OK == result )
{
//查询成功
index = ncolumn; //前面说过 dbResult 前面第一行数据是字段名称,从 ncolumn 索引开始才是真正的数据
printf( “查到%d条记录\n”,nRow );
for( i = 0; i < nRow ; i )
{
printf( “第 %d 条记录\n”,i 1 );
for( j = 0 ; j < ncolumn; j )
{
printf( “字段名:%s ?> 字段值:%s\n”,dbresult[j],dbResult [index] );
index; // dbResult 的字段值是连续的,从第0索引到第 ncolumn - 1索引都是字段名称,从第 ncolumn 索引开始,后面都是字段值,它把一个二维的表(传统的行列表示法)用一个扁平的形式来表示
}
printf( “-------\n” );
}
}
//到这里,不论数据库查询是否成功,都释放 char** 查询结果,使用 sqlite 提供的功能来释放
sqlite3_free_table( dbResult );
//关闭数据库
sqlite3_close( db );
return 0;
}
}*/

大佬总结

以上是大佬教程为你收集整理的sqlite3 判断数据库和表的状态全部内容,希望文章能够帮你解决sqlite3 判断数据库和表的状态所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: