VC++ 操作SQL数据库

首先要建立数据库操作的基础:

1.  加入头文件

#import "c:\Program Files\Common Files\System\ADO\msado15.dll"no_namespace rename ("EOF", "ADOEOF")

2. 数据链接初始化

// Initialize OLE libraries
 if (!AfxOleInit())
 {
  AfxMessageBox(" 初始化 OLE 失败! ");
  return FALSE;
 }

1.  判断数据库是否已经存在,如果不存在,则创建数据库。

CAccessDataWithAdo accData;   //  数据库链接类,包含各种对数据库的操作
 CString strConnection, strDataName;  

//   数据库链接语句,链接的是系统数据库master 
 strConnection="driver={SQL Server};Server=(local);DATABASE=master;UID=sa;PWD=123456";

 strDataName="Prada";  //   确定数据库 名字为 Prada 
 accData.CreateConnection(strConnection);  //  链接到系统数据库 master
 CString strCommand;

//   通过查询 sysdatabases 表格 , 确定数据库是否已经存在
 strCommand.Format("select * from sysdatabases where name='%s'",strDataBase);
 accData.OpenRecordset(strCommand);
 if(accData.GetRecordNum())
 {
  MessageBox("  该数据库已经存在! ");
 }
 else
 {//    创建数据库
 strCommand.Format("create database %s", strDataBase);
 accData.ExecuteSQLbyConnection(strCommand);
 }

2.  删除数据库

CAccessDataWithAdo accData;
 CString strConnection;  
 strConnection="driver={SQL Server};Server=(local);DATABASE=master;UID=sa;PWD=123456";
 accData.CreateConnection(strConnection);
 CString strCommand, strDataBase;
 strDataBase="Prada";

  //      删除数据库

 strCommand = "drop database PradaVE";
 accData.ExecuteSQLbyConnection(strCommand);

3.  判断数据表是否存在,如果不存在,则创建数据表

CAccessDataWithAdo accData;
 CString strConnection,strTableName  
 strConnection="driver={SQL Server};Server=(local);DATABASE=Prada;UID=sa;PWD=123456";
 accData.CreateConnection(strConnection);

strTableName =" LV ";

strConnection.Format( "SELECT name FROM sysobjects WHERE xtype=\'u\' AND name = \'%s\'", strTableName );

//   查询 数据库prada 中是否存在表 LV.
 accData.OpenRecordset( strSQL );

if(accData.GetRecordNum())

{

MessageBox("  该数据表已经存在,请更改数据表名称");

}

else

{

strConnection.Format("CREATE TABLE %s\
      (ID int default 20 ,\
      Dog char(4) default 'Big',\
      BIRD char(5) default 'hei',\
      单位 char(6)default '台')",strTableName );

 //   创建数据表

accData.ExecuteSQLbyConnection(strConnection);

      
 4. 删除数据表

CAccessDataWithAdo accData;
 CString strConnection,strTableName  
 strConnection="driver={SQL Server};Server=(local);DATABASE=Prada;UID=sa;PWD=123456";
 accData.CreateConnection(strConnection);

strTableName =" LV ";

strConnection.Format( "drop table '%s'", strTableName );

//   删除数据表 LV.
 accData.ExecuteSQLbyConnection( strConnection);

5. 更改数据库名称

 //  链接系统数据库master , 省略..................

strCommand = "sp_renamedb 'Prada','PradaVE'";

//    将 数据库 prada  更名 为pradaVE 
  accData.ExecuteSQLbyConnection(strCommand);

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值