建立连接我就不多说了,网上一堆.
普通的INSERT/DELETE/SELECT等可以用查询语句实现,也很简单.
记录一下数据库的修改.
数据库里有多种类型的数据,这些数据在添加或者读取或者修改的时候都是不一样的.
但是在数据库中全部统一为_variant_t类型.
字符串的读取:
读取出来的是BSTR类型,既不是ANSI也不是UNICODE,我查了好半天才知道,应该这么做(记得先查询)
_com_util::ConvertBSTRToString((_bstr_t)pRecordset->GetCollect("xxxx"));
得到的就是ANSI编码的字串.
数据的更新:
比如说我要更新一条数据的好几个信息,用查询语句也能够实现,但是不容易发现错误(如果失败的话),那么就先通过查询语句找到这一条数据,然后
pRecordset->Fields->GetItem(_variant_t(_T("xxx")))->Value = _variant_t(新的值);//字符串
SYSTEMTIME SysTime;
TCHAR SqlCmd[MAX_PATH];
GetLocalTime(&SysTime);
wsprintf(SqlCmd, _T("%d-%d-%d"), SysTime.wYear, SysTime.wMonth, SysTime.wDay);
pRecordset->Fields->GetItem(_variant_t(_T("xxx")))->Value = _variant_t(SqlCmd);//日期(貌似不能用now函数了)
pRecordset->Fields->GetItem(_variant_t(_T("xxx")))->Value = _variant_t((short)1);//字节型数据
_variant_t varDes;
varDes.vt = VT_I4;
varDes.ulVal = 100000;
pRecordset->Fields->GetItem(_variant_t(_T("xxx")))->Value = varDes;//DWORD类型数据
最后别忘了
pRecordset->Update();
pRecordset->Close();
其实我也想过用VB来做,但是我感觉在效率上还是VC比较高,也是顺便学技术了.