从原始表生成临时表,用UPDATE更新之,有时不成功,这时把没有功更的新临时表删掉,用同样的方法重新生成,却可以,这是为什么?
(逻辑非常简单,会不会是同步问题,要怎么解决)
下面是部分代码,其是ma12,ma26也是临时表中的数据,是前面刚刚更新过的 for (UINT i=start;i<CntTotalGrp;++i) {
SqlCmd.Format("UPDATE %s SET a="
"(SELECT TOP 1 ma12 FROM %s WHERE ID=%u)"
"-(SELECT TOP 1 ma26 FROM %s WHERE ID=%u)"
"WHERE ID=%u",
TmpTblName,TmpTblName,i-2,TmpTblName,i,i);
m_pConn->Execute(_bstr_t(SqlCmd),NULL,adCmdText);
}
(逻辑非常简单,会不会是同步问题,要怎么解决)
下面是部分代码,其是ma12,ma26也是临时表中的数据,是前面刚刚更新过的 for (UINT i=start;i<CntTotalGrp;++i) {
SqlCmd.Format("UPDATE %s SET a="
"(SELECT TOP 1 ma12 FROM %s WHERE ID=%u)"
"-(SELECT TOP 1 ma26 FROM %s WHERE ID=%u)"
"WHERE ID=%u",
TmpTblName,TmpTblName,i-2,TmpTblName,i,i);
m_pConn->Execute(_bstr_t(SqlCmd),NULL,adCmdText);
}
只有两个可能,
1,数据没提交成功.
2.SQL语句不正确,比如条件是否考虑周全.