在vc++中增加记录怎么才能真正添加到数据库里面啊?

 我来答
huifu113
2009-12-30 · TA获得超过415个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:95.4万
展开全部
可以用ADO方式连接上数据库,再操作数据库。这是我以前的一个函数,做连接数据库用的,可以参考:BOOL CMyPropertyPage3::GetSqlDBLink(CString strDBName/*=""*/)
{
if (m_pConn->State)
{
m_pConn->Close();
}

// HRESULT hr;
CString strLink;
try
{
m_pConn->ConnectionTimeout=60;///设置超时时间为60秒 ,防止操作系统中装有类似360安全卫士的软件,阻断进程进行放行提示
//以下是连接access2000数据库。。。
//pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lo.mdb;","","",adModeUnknown);
//连接SQL数据库
strLink = "Provider=SQLOLEDB;Server=";
strLink += m_strIP;
strLink += ";DATABASE=";//master;";
if ("" == strDBName)
strLink += "master";
else
strLink += strDBName;
strLink += ";UID=";
strLink += m_strUserName;
strLink += ";PWD=";
strLink += m_strPassWord;
m_pConn->Open(class _bstr_t(strLink), "", "", adModeUnknown);
}
catch(_com_error e)///捕捉异常
{
CString temp;
temp.Format("连接数据库错误信息:%s",e.ErrorMessage());

return FALSE;
}

return TRUE;
}

操作数据库:
CString sql="INSERT INTO TABLE1 (COL1,COL2) VALUES(1, 2)";
m_pConn->BeginTrans();
for (i=0; i<nCount; i++)
{
try
{
m_pConn->Execute(class _bstr_t(sql), &ra, adCmdText);
}
catch (_com_error e)
{
m_pConn->RollbackTrans();
AfxMessageBox(e.Description());
ASSERT(FALSE);
return FALSE;
}
}

try
{
m_pConn->CommitTrans();
}
catch (_com_error e)
{
ASSERT(FALSE);
return FALSE;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式