首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL Server 2008 动态使用Use 数据库名的有关问题~

2012-03-18 
SQL Server 2008 动态使用Use 数据库名的问题~~~SQL server2008问题~~~多个记录集公用一个_connectionptr

SQL Server 2008 动态使用Use 数据库名的问题~~~
SQL server2008 问题~~~
多个记录集公用一个_connectionptr时,出了点问题~~请教各位大虾~~
_connectionptr m_pc;
......(打开连接m_pc)....
_variant v;
m_pc->excute("use master", NULL, ADONS::adcmdtext);
v=m_pc->excute("select count(*)from dbo.sysdatabases", NULL, ADONS::adcmdtext);
m_pc->excute("use mydb", NULL, ADONS::adcmdtext);
v=m_pc->excute("select count(*)from dbo.sysobjects", NULL, ADONS::adcmdtext);
m_pc->excute("use master", NULL, ADONS::adcmdtext);
v=m_pc->excute("select count(*)from dbo.sysdatabases", NULL, ADONS::adcmdtext);
然后就出错了, 说“dbo.sysdatabases”对象名无效;
仔细调试过了,根本原因是excute(“use db”...)语句执行过程未出错,但是没有产生效果,无法切换数据库
万分不解~~
试过多次了(有时切换3、4次后出错, 有时切换1次都不行~~ 跟人一样,有脾气)

[解决办法]
v=m_pc->excute("select count(*)from dbo.sysdatabases", NULL, ADONS::adcmdtext);
改为
v=m_pc->excute("select count(*)from master.dbo.sysdatabases", NULL, ADONS::adcmdtext);

[解决办法]
看不懂,有情帮顶!
[解决办法]

C/C++ code
m_pc->excute("use master", NULL, ADONS::adcmdtext);p=m_pc->excute("select count(*)from dbo.sysdatabases", NULL, ADONS::adcmdtext);m_pc->excute("use mydb", NULL, ADONS::adcmdtext);p=m_pc->excute("select count(*)from dbo.sysobjects", NULL, ADONS::adcmdtext);m_pc->excute("use master", NULL, ADONS::adcmdtext);p=m_pc->excute("select count(*)from dbo.sysdatabases", NULL, ADONS::adcmdtext); 

热点排行