ADO增加数据问题?
问题描述:我的问题是这样的,我采用ADO连接数据库,数据库字段中含有BLOB(超长字段),如果使用m_pRecordset->Open("SELECT * FROM Budget", // 查询DemoTable表中所有字段
m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
这种Select *的形式,查询的时间就会很长,于是我调整了,改为 “select 部分字段 from 表”,但是这样ADO增加数据就不成功了,请问m_pRecordset还有别的增加数据的方法吗?如果没有我就采用,
拼SQL,
strSQL = "insert into user (UserID,Password,Name,Phone,Address,Others) values('"+dlg.m_strUserName+"','"+dlg.m_strPwd+"','"+dlg.m_strName+"','"+dlg.m_strPhone+"','"+dlg.m_strAddr+"','"+dlg.m_strMemo+"')";
try
{
m_pConnectionDB->Execute(_bstr_t(strSQL),NULL,NULL);
}
catch(...)
{
MessageBox("向用户表新增数据时错误!","错误信息",MB_ICONWARNING|MB_OK);
return false;
}
这种方式了,请高人指点?
[解决办法]
就用记录集的AddNew方法添加一条记录,再用PutCollect往相应字段上写数据,最后调用Update更新就行了。