ado修改数据时,Recordser update()成功,但是并没有真正修改。奇怪~_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
pConn->ConnectionString="DRIVER={MySQL ODBC 5.1 Driver}; \
Data Source = trm_base"; try
{
HRESULT hr = pConn->Open("","","",adConnectUnspecified);
CString strSource = "select * from sys_dict \
where 类型='提醒类型' and 代码='2'";
HRESULT hr2 = pRst->Open(_variant_t(strSource),
_variant_t(pConn,true),
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch (_com_error& err)
{
CString s;
s.Format("%s",err.Description());
}
while (!pRst->ADOEOF)
{
_variant_t varIndex("名称");
_variant_t varValue("3");
pRst->PutCollect(varIndex, varValue);
HRESULT hr = pRst->Update();//hr返回0值,但是update并未起作用,数据库未被更改
return;
}
_RecordsetPtr pRst(__uuidof(Recordset));
pConn->ConnectionString="DRIVER={MySQL ODBC 5.1 Driver}; \
Data Source = trm_base"; try
{
HRESULT hr = pConn->Open("","","",adConnectUnspecified);
CString strSource = "select * from sys_dict \
where 类型='提醒类型' and 代码='2'";
HRESULT hr2 = pRst->Open(_variant_t(strSource),
_variant_t(pConn,true),
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch (_com_error& err)
{
CString s;
s.Format("%s",err.Description());
}
while (!pRst->ADOEOF)
{
_variant_t varIndex("名称");
_variant_t varValue("3");
pRst->PutCollect(varIndex, varValue);
HRESULT hr = pRst->Update();//hr返回0值,但是update并未起作用,数据库未被更改
return;
}
解决方案 »
- mysql权限
- 一台linux上面安装多个mysql实例?
- 求一 SQL 语句
- 请问MySql 可以处理8千万条以上的记录吗, 速度有没SQL2000快?
- 问题又来了~有关在mysql中对一个表进行上百万数据量的导入导出的问题??~~
- mysql.jar找不到?我想用jdbc,用mysql做数据库,但why mysql.jar找不到?
- SQL优化 ,麻烦大大帮忙
- 请教关于MySQL字符串
- 求助技术大牛,VC 6.0 连接配置mysql 5.6 跪求,急等,多谢!
- 求大神帮忙啊 , mysql 创建数据库后,使用符号链接将数据库移动到另外的磁盘后,访问不了表项
- 求一个sql语句(或存储过程),关于分组与排序
- sql替换问题
但是我没有BeginTrans,
也不用提交了吧?我在操作access时,这个是没问题的,就是mysql出现的这个问题
直接用UPDATE SQL语句替换,结果如何
我调用的是服务器上的数据库
update 语句是没问题的添加一条新纪录,利用
pRes->addnew
pRes->putcollect
pRes->update()
这样都是没问题的就是修改有问题
(我先select*出来一条记录到pRes,然后给pRes->putcollect进去,然后update()
update()返回都是成功值,但是数据库就是没修改);
where 类型='提醒类型' and 代码='2'";是否有结果
where 类型='提醒类型' and 代码='2'";
这个语句是没问题的
得到的pRes有一条记录
_variant_t var = pRst->GetCollect("名称");
可以返回数据库里的值服务器就在我边上我这里2台机器,我直接查的mysql数据库,知道没有修改成功
没有出错提示,update都是成功的,
我的mysql是uft8,中文字段,我正在试英文字段会不会有这个问题
数据库服务器端也采用gbk或者utf8字符集。这样似乎有救。不过,不知道你的数据库采用的什么字符集。
show variables like 'char%'版上有N多关于字符集方面的帖子,往前翻翻看
show variables like 'char%';
估计是表结构出问题了,我再研究研究啊,谢谢大家了~