ADO创建数据库表的问题

fhuo 2004-12-25 10:34:05
我使用了SQL Server 2000中的tempdb作为内存数据库,但是在程序运行的时候需要判断该数据库中的表是存在,如果不存在,就要创建,如果存在就不需要重建建立了。
使用ADO进行数据库连接我已经做了,但是不知道怎么判断数据库中的一个表是否已经存在?
...全文
116 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhuo 2004-12-26
  • 打赏
  • 举报
回复
这段程序确实不错,我试了
fhuo 2004-12-26
  • 打赏
  • 举报
回复
呵呵,看明白了,这样是不错的,需要一个个的判断,如果没有表而需要添加表的sql语句怎么写呀?
fhuo 2004-12-26
  • 打赏
  • 举报
回复
我想你这个是不是在txt文件中存放表的名字呀?那么如果判断一些表没有,你又怎么记住呢?还有如果一个表没有,怎么添加呢?
大哥能否把你这些程序的源代码发给我,我给你更多的分,好不好?
Kudeet 2004-12-25
  • 打赏
  • 举报
回复
两个参数就是连接字符串和要判断的表名
Kudeet 2004-12-25
  • 打赏
  • 举报
回复
bool CMainFrame::IsHaveTable(_ConnectionPtr pConnection, CString strTableName)
{
_RecordsetPtr pRstSchema = NULL;//数据库表指针
bool bIsHaveNo = FALSE;//是否有表?默认无表
//pConnection:指向数据库
pRstSchema = pConnection->OpenSchema(adSchemaTables);//指向所有的表

while(!(pRstSchema->EndOfFile))//指针是否已经指向最后一条记录?
{
_bstr_t table_name = pRstSchema->Fields->GetItem("TABLE_NAME")->Value;//得到表的名称

if(strTableName == (LPCSTR) table_name)//表名判断是否相同?
{
bIsHaveNo = TRUE;//有表了
break;
}
pRstSchema->MoveNext();
}
return bIsHaveNo;
}

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧