如何判断数据库中是否存在某个数据

如何判断数据库中是否存在某个数据,第1张

在SQL Server数据库编程时,常常需要判断一个数据库是否已经存在,如果不存在则创建此数据库。常用的方法有以下三种:

1. select * From master.dbo.sysdatabases where name='test_db'

如果不存在查询结果,则说明name所表示的数据库不存在

2. object_id('test_db')

如果无法获取对象ID(null),则说明此对象不存在;常用

if object_id('test_db') is null

或者

if (select object_id('test_db')) is null

3. db_id('test_db')

如果不能获取数据库ID,则说明name所表示的数据库不存在;实际上此种方法也是在sysdatabases中查找,并返回数据库的ID;常用

if db_id('test_db') is null

或者

if (select db_id('test_db')) is null

在执行数据库查询后,读取结果的时候没有判断结果集指针是否越界。

比如只查出一条数据,结果你就读两次结果,读的时候指针是会向下走,读一条,就指到下一条。

结果集第一条数据的前边一条是BOF,B就是Begin的首字母,最后一条的后边是EOF。

结果集查回来,指针通常指向BOF,如果你写arr["字段名"]就会出错,应该先读一次,并且读的时候要判断是否读取成功,如果结果集为空,读的时候就会从BOF直接指向EOF,这样读取会失败。

判断思路如下:

select COUNT(*) from tableName where conditions

if exists (select * from tableName where conditions) select '1' else select '0'

通过返回值去判断是否存在。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10869499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存