当SQLite数据库执行select * from tab where id = 2时,如tab不存在,返回SQLITE_OK,如何知道tab不存在,见内容

时间:2022-06-01 17:04:14
有下边这样的问题
当执行select * from tab where id = 2;
返回值为SQLITE_OK

此时有下边几中情况:
1、当tab不存在
2、id不存在
3、id = 2的句路不存在
4、查询到需要的数据

那么有没有办法知道,到底是属于这4种情况中的那一种?

7 个解决方案

#1


1.2是ADO的话用捕获异常try...catch...,看错误值是多少。
3,4判断查询的记录了集是不是为空。

#2


引用 1 楼 zyq5945 的回复:
1.2是ADO的话用捕获异常try...catch...,看错误值是多少。
3,4判断查询的记录了集是不是为空。


SQLite 执行该语句不会有错误,返回值SQLITE_OK,表明正确执行.只是数据为空

现在想要知道到底是属于那一种情况,就不知道如何处理了

#3


依次sql判断前两项啦

#4


引用 1 楼 zyq5945 的回复:
1.2是ADO的话用捕获异常try...catch...,看错误值是多少。
3,4判断查询的记录了集是不是为空。


3 4 可以获取记录条数目进行判断。

#5


引用 3 楼 neohope 的回复:
依次sql判断前两项啦

如何判断?

#6


1、当tab不存在 
2、id不存在 

这两种情况SQLITE是返回失败的,不是SQLITE_OK

#7


引用 6 楼 red_berries 的回复:
1、当tab不存在
2、id不存在

这两种情况SQLITE是返回失败的,不是SQLITE_OK

对,弄糊涂了

#1


1.2是ADO的话用捕获异常try...catch...,看错误值是多少。
3,4判断查询的记录了集是不是为空。

#2


引用 1 楼 zyq5945 的回复:
1.2是ADO的话用捕获异常try...catch...,看错误值是多少。
3,4判断查询的记录了集是不是为空。


SQLite 执行该语句不会有错误,返回值SQLITE_OK,表明正确执行.只是数据为空

现在想要知道到底是属于那一种情况,就不知道如何处理了

#3


依次sql判断前两项啦

#4


引用 1 楼 zyq5945 的回复:
1.2是ADO的话用捕获异常try...catch...,看错误值是多少。
3,4判断查询的记录了集是不是为空。


3 4 可以获取记录条数目进行判断。

#5


引用 3 楼 neohope 的回复:
依次sql判断前两项啦

如何判断?

#6


1、当tab不存在 
2、id不存在 

这两种情况SQLITE是返回失败的,不是SQLITE_OK

#7


引用 6 楼 red_berries 的回复:
1、当tab不存在
2、id不存在

这两种情况SQLITE是返回失败的,不是SQLITE_OK

对,弄糊涂了