首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

数据库有关问题

2012-01-28 
数据库问题 高手进鄙人用vc2005写的一个MFC 对话框工程 写入数据库数据 如下:#import C:\Program Files\C

数据库问题 高手进
鄙人用vc2005写的一个MFC 对话框工程 写入数据库数据 如下:
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")


_ConnectionPtr pMyConnect=NULL;
HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection)));
  if( FAILED(hr) )
  return;
  _bstr_t strConnect="Provider=SQLOLEDB; Server=lenove123;" //本机名lenove123,SQL表名note,账号密码为空,这里应如何设置
  "Database=note.mdf; uid=; pwd=;"; 
  //connecting to the database server now:
  try{pMyConnect->Open(strConnect,"","",NULL);}
  catch (_com_error &e)
  {
  ::MessageBox(NULL,e.Description(),"警告",MB_OK | MB_ICONWARNING);
  }
  try
  {
  if(!m_pRecordset->Supports(adAddNew)) return;
  m_pRecordset->AddNew(); 
  m_pRecordset->Fields->GetItem(_variant_t("开始时间"))->Value=_bstr_t("2010-4-11 23:12:00");//这里的类型是否正确
  m_pRecordset->Fields->GetItem(_variant_t("结束时间"))->Value=_bstr_t("2010-4-11 23:13:00");
  m_pRecordset->Fields->GetItem(_variant_t("age"))->Value=_variant_t((short) 60);
  m_pRecordset->Update();  
  } 
  catch (_com_error &e)
  {
  ::MessageBox(NULL, "数据写入失败!","提示",MB_OK | MB_ICONWARNING);
  }
编译成功但是没有写入数据,是不是我数据库SQL中设置数据类型不正确,应该怎么设置,

[解决办法]
http://www.vckbase.com/document/viewdoc/?id=496
——插入记录。可以先用AddNew()方法新增一个空记录,再用PutCollect(字段名,值)输入每个字段的值,最后再Update()更新到库中数据既可。其中变量m_Name和m_Age分别为姓名及年龄编辑框的成员变量名。代码所下所示:

C/C++ code
try    {        // 写入各字段值        m_pRecordset->AddNew();        m_pRecordset->PutCollect("Name", _variant_t(m_Name));        m_pRecordset->PutCollect("Age", atol(m_Age));        m_pRecordset->Update();        AfxMessageBox("插入成功!");    }    catch(_com_error &e)    {        AfxMessageBox(e.ErrorMessage());    } 

热点排行