永发信息网

C++ sql 更新语句怎么执行

答案:2  悬赏:20  手机版
解决时间 2021-01-31 20:14
请问执行update语句可以这样写吗?
strSQL.Format(_T("update JPolicy set UpperComCode = '%s' where COMCODE in '%s'"), d_ComCode, d_String);
wchar_t *pSQL = strSQL.AllocSysString();
m_policy1->Open(pSQL, Sp_JiBenFaData.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdText);

完整代码如下:

#include"stdafx.h"
#include
#include
#include
#include
using namespace std;
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")

void main()
{

//连接数据库
CoInitialize(NULL); //初始化COM库环境

_ConnectionPtr Sp_JiBenFaData;
_ConnectionPtr Sp_LoginData;

HRESULT hr = Sp_JiBenFaData.CreateInstance(_uuidof(Connection));
HRESULT hr1 = Sp_LoginData.CreateInstance(_uuidof(Connection));

try {
_bstr_t conn_JiBenFaData = "Driver={sql server};server=*;uid=sa;pwd=*;database=JiBenFaData;";
Sp_JiBenFaData->Open(conn_JiBenFaData, "", "", adModeUnknown);
}
catch (_com_error &e) {
cout << e.Description() << endl;
}
try {
_bstr_t conn_LoginData = "Driver={sql server};server=*;uid=sa;pwd=*;database=LoginData;";
Sp_LoginData->Open(conn_LoginData, "", "", adModeUnknown);
}
catch (_com_error &e) {
cout << e.Description() << endl;
}

_RecordsetPtr m_policy1;
_RecordsetPtr m_dcompany;
if (FAILED(m_policy1.CreateInstance(_uuidof(Recordset)))){
cout << "记录集对象指针实例化失败!" << endl;
}
if (FAILED(m_dcompany.CreateInstance(_uuidof(Recordset)))){
cout << "记录集对象指针实例化失败!" << endl;
}

m_dcompany->Open("select * from dbo.ODS_DCOMPANY where UPPERCOMCODE ='35000000'", (IDispatch*)Sp_LoginData, adOpenDynamic, adLockOptimistic, adCmdText);
m_dcompany->MoveFirst();
CString strSQL;
while (!m_dcompany->adoEOF){
string d_ComCode = (char*)(_bstr_t)(m_dcompany->Fields->GetItem(_variant_t("COMCODE"))->Value);
string d_String = (char*)(_bstr_t)(m_dcompany->Fields->GetItem(_variant_t("ComString"))->Value);
cout << d_ComCode << endl;
cout << d_String << endl;

strSQL.Format(_T("update JPolicy set UpperComCode = '%s' where COMCODE in '%s'"), d_ComCode, d_String);
wchar_t *pSQL = strSQL.AllocSysString();
m_policy1->Open(pSQL, Sp_JiBenFaData.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdText);
m_dcompany->MoveNext();
}
system("pause");

}
编译通过,但跳出对话框报错:

Unhandled exception at 0x75E0C42D in test1.exe: Microsoft C++ exception: _com_error at memory location 0x0021F71C.
最佳答案
_ConnectionPtr可以执行sql命令
_RecordsetPtr有对应的addnew,update操作
全部回答
sql:select * from 表 where 条件; 这个是sql语句,希望对你有所帮助。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
【一阳来复】“一阳来复”与节气()有关。
每天喝绿茶有什么好处和坏处?
京都念慈庵香港卖多少钱一瓶儿
行之舰轰趴馆地址在什么地方,我要处理点事
拉娜wwe和贝拉的恩怨
定向培养或委培在职硕士毕业后不回原单位工作
未央生是什么意思?是一个人名还是某一类人的
【sheer是什么意思】theimpressivesize和thes
线阵音响需要几相电
梦到开车翻车
女的阴虚多久才能补好
私享空间别墅轰趴馆(时代奥城店)地址有知道的
铃木俊龙摩托车有几种版本
电动缝纫机绞底线刚才还好好的现在突然绞底线
我不想去争 去追求什么。 如果世界没有争,没
推荐资讯
谁知道,原来的我,原唱是谁?
请问什么是舰艇的干舷经常看到书上说干舷过低
怎样计算年假,我公司是满一年年假5天,每增
QQ里面有个小动物标志是什么意思?
中华尊驰cd机怎么拆
已知sin2阿尔法=4分之2,且阿尔法属于锐角,求s
菜鸟驿站(川幼师专)地址有知道的么?有点事想
20个月的宝宝,一天喝多少奶粉为宜
路的同义词是什么
请问风水大师别人家老人去世不到七天就来家里
姐妹理发店地址在什么地方,想过去办事
涡阳县农村商业银行24小时自助银行怎么去啊,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?