estadoView::OnAddColumn()
{
_variant_t RecordsAffected;
m_pConnection->Execute("ALTER TABLE new ADD newcolumn1 INTEGER",&RecordsAffected,adCmdText);
}
运行
程序,执行菜单当中的命令"添加一列",我们可以发现数据库中刚才添加的表new中已添加了一个新列。
第十一步:添加菜单项"删除一列",并添加相应的消息处理函数,然后添加代码如下:
void CTestadoView::OnAddColumn()
{
_variant_t RecordsAffected;
m_pConnection->Execute("ALTER TABLE new ADD newcolumn1 INTEGER",&RecordsAffected,adCmdText);
}
运行
程序,执行菜单当中的命令"删除一列",我们可以发现数据库中刚才添加的表new中的新列已被删除。
第十二步:添加菜单项"添加记录",并添加相应的消息处理函数,然后添加代码如下:
void CTestadoView::OnAddRecord()
{
_variant_t RecordsAffected;
for(int i = 1;i < 10; i ++)
{
CString strSQL;
strSQL.Format("INSERT INTO new(ID,username,old) VALUES (%d, ''Washington'',%d)",i,i*9);
m_pConnection->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);
}
运行
程序,执行菜单当中的命令"添加记录",我们可以发现数据库中刚才添加的表new中添加了九条新的记录。
第十三步:添加菜单项"old字段加1",并添加相应的消息处理函数,然后添加代码如下:
void CTestadoView::OnOldAddone()
{
_variant_t RecordsAffected;
m_pConnection->Execute("UPDATE new SET old = old+1",&RecordsAffected,adCmdText);
}}
运行
程序,执行菜单当中的命令"old记录加1",我们可以发现数据库中刚才添加的表new中的九条新的记录的old字段都自动加1。
第十四步:添加菜单项"统计记录数目",并添加相应的消息处理函数,然后添加代码如下:
void CTestadoView::OnTotalRecords()
{
_RecordsetPtr m_pRecordset;
_variant_t RecordsAffected;
m_pRecordset =m_pConnection->Execute("SELECT COUNT(*) FROM new where ID > 0",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_variant_t vCount = m_pRecordset->GetCollect(vIndex);
///取得第一个字段的值放入vCount变量
m_pRecordset->Close();///关闭记录集
CString Message;
Message.Format("共有%d条记录",vCount.lVal);
AfxMessageBox(Message);///显示当前记录条数
}
运行
程序,执行菜单当中的命令"统计记录数目",我们可以得到数据库中记录的数目。
第十五步:添加菜单项"设置ID为索引",并添加相应的消息处理函数,然后添加代码如下:
void CTestadoView::OnSetIdIndex()
{
_variant_t RecordsAffected;
m_pConnection->Execute("CREATE UNIQUE INDEX id ON new(ID)",&RecordsAffected,adCmdText);
}
运行
程序,执行菜单当中的命令"设置ID为索引",我们可以发现数据库中ID被设置为索引。
第十六步:添加菜单项"数据汇总"、"old字段的总和"、"old字段的均值"、"old的最小值"、"old字段的最大值",并添加相应的消息处理函数,然后添加代码如下:
void CTestadoView::OnOldMax()
{
_RecordsetPtr m_pRecordset;
_variant_t RecordsAffected;
m_pRecordset =m_pConnection->Execute("select MAX(old) from new",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_va