首先要建立数据库操作的基础:
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);