求学:下面这段语句,直接在SQL Server 中可执行成功,但在VFP中运行失败,总是存在数据库正在使用中无法删除的有关问题

求学:下面这段语句,直接在SQL Server 中可执行成功,但在VFP中运行失败,总是存在数据库正在使用中无法删除的问题
use master  
  go
  declare @dbname sysname  
  set @dbname='HHJXCJ_ZHGLXT'  
  declare @s nvarchar(1000)  
  declare tb cursor local for  
  select s='kill '+cast(spid as varchar)  
  from master..sysprocesses    
  where dbid=db_id(@dbname)  
  open tb    
  fetch next from tb into @s  
  while @@fetch_status=0  
  begin
  exec(@s)
  fetch next from tb into @s  
  end
  close tb  
  deallocate tb  
  EXEC('drop database ['+@dbname+']')
------解决方案--------------------
应该是 VFP 连接着被删除的数据库,也就是说此时数据库被占用着,所以无法删除。
应该在
nRetval=sqlexec(nHandle,"DROP DATABASE HHJXCJ_ZHGLXT") 
之前以下语句
if sqlexec(nHandle,"USE MASTER")<0
    return
endif