292上位机VC MFC使用ADO添加删除单列
使用ADO添加删除单列
功能展示
ADO数据库程序中,记录集都是以众多表格形式存储,有时我们想删除表格的指定列,或是往表格中添加几列数据,我们就得编写代码实现这一功能,当前例程就实现了这一功能,程序运行时会打开根目录的数据库,选择组合框列名后点击删除,会删除默认表Basic的列,点击增加会把编辑框的列名添加到Basic表的尾端;
要点提示
往表中添加列可以语句ALTER TABLE Basic ADD ColumnName INTEGER实现。
删除列可以语句ALTER TABLE Basic DROP ColumnName 实现, Basic 为表名, ColumnName 为列名;
此SQL语句可以用_ConnectionPtr类的Execute函数执行实现
实现功能
1.新建基于对话框的应用程序
2.在App类的InitInstance()函数中添加代码AfxOleInit();//初始化COM,创建ADO连接等操作
3.在stdafx.h中加入ADO支持库
#import “c:\program files\common files\system\ado\msado15.dll” no_namespace rename (“EOF”, “adoEOF”) 及#include "icrsint.h"//IADORecordBinding 头文件
4.主对话框中添加变量_ConnectionPtr m_pConnection;并初始化
CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO1);
pComboBox->InsertString(0,"StuID");
pComboBox->InsertString(0,"StuName");
pComboBox->InsertString(0,"StuAdd");
pComboBox->InsertString(0,"StuTel");
pComboBox->SetCurSel(0);
HRESULT hr;
try
{
hr =m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("rovider=Microsoft.Jet.OLEDB.4.0;Data Source=STUDENTSINFO.MDB",
"","",adModeUnknown);
///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为rovider=Microsoft.Jet.OLEDB.3.51;
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
5.在主对话框添加组合框IDC_COMBO1 ,编辑框IDC_EDIT,再添加<删除><遍删除>按钮,响应按钮的点击函数
void CGkbc8Dlg::OnAddf() //添加列
{
CString str,sText;
GetDlgItemText(IDC_EDIT,sText);
str.Format("ALTER TABLE Basic ADD %s INTEGER",sText);
_variant_t RecordsAffected;
m_pConnection->Execute((_bstr_t)str,&RecordsAffected,adCmdText);
}
void CGkbc8Dlg::OnDelf() //删除列
{
CString str,sText;
CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO1);
pComboBox->GetLBText(pComboBox->GetCurSel(),sText);
str.Format("ALTER TABLE Basic DROP %s ",sText);
_variant_t RecordsAffected;
m_pConnection->Execute((_bstr_t)str,&RecordsAffected,adCmdText);
}
我们来演示下功能实现的整个过程
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|