VC2010上通过ADO访问数据库的几个小问题

VC2010下通过ADO访问数据库的几个问题
初步学习,但是遇见许多麻烦,请指教
1.想数据库写入一个新表
  看见的代码是比较早以前的了 代码如下:

头文件定义:
_ConnectionPtr m_pConnection;

void CEX_DatabaseDlg::OnClickedNewtablebutton()
{
// TODO: Add your control notification handler code here

HRESULT hr;
//hr=m_pConnection.CreateInstance(__uuidof(Connection));
try
{

hr = m_pConnection.CreateInstance("ADODB.Connection");

hr = m_pConnection->Open(_T("Provider =Microsoft.Jet.OLEDB.4.0;Data Source = 学生档案.mdb"),"","",adModeUnknown);
// m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=学生档案.mdb","","",adModeUnknown);
}

catch(_com_error *e)
{
CString errormessage;
errormessage.Format(_T("数据库连接失败:%s"),e->ErrorMessage());
AfxMessageBox(errormessage);
}
_variant_t RecordsAffected;
//_RecordsetPtr m_pRecordset;   
//_CommandPtr m_pCommand;
m_pConnection->Execute("CREATE TABLE 个人信息(学号 INTERGER,年龄 INTERGER)",&RecordsAffected,adCmdText);
//m_pCommand->Execute( NULL, NULL, adCmdText); 

}


报错:Unhandled exception at 0x7c812afb in EX_Database.exe: Microsoft C++ exception: _com_error at memory location 0x0012f1ac..  位置就是在open()函数和execute()两个函数 。

2. 本来是想用m_pRecordset1 = m_pCommand->Execute(("CREATE TABLE 个人信息(学号 INTERGER,年龄 INTERGER)",&RecordsAffected,adCmdText) 并注释掉hr   来看看能不能解决,出现了char[]不能转为variant,这是个小问题,但是新手老是遇见类似的问题,通常加_T(),有时不能解决,请问有更方便的方法么?
------解决方案--------------------
先把*e改成e或者&e试一下吧

三种写法都见过,也不知道哪种是绝对对的
------解决方案--------------------
这个也容错一下,再看看错误提示

try
{
   _variant_t RecordsAffected;
//_RecordsetPtr m_pRecordset;   
//_CommandPtr m_pCommand;
m_pConnection->Execute("CREATE TABLE 个人信息(学号 INTERGER,年龄 INTERGER)",&RecordsAffected,adCmdText);

}
catch(_com_error& e)
{
MessageBox(e.Description(),"错误");
}

------解决方案--------------------

这个也容错一下,再看看错误提示

C/C++ code

try
{
_variant_t RecordsAffected;
//_RecordsetPtr m_pRecordset; 
//_CommandPtr m_pCommand;
m_pConnection->Execute("CREATE TABLE 个人信息(学号 INTERGER,年龄 INTERGER)……

------解决方案--------------------
把个人信息改成[个人信息]试试