CRecordSet有四种OpenType
enum OpenType
{
dynaset, // uses SQLExtendedFetch, keyset driven cursor
snapshot, // uses SQLExtendedFetch, static cursor
forwardOnly, // uses SQLFetch
dynamic // uses SQLExtendedFetch, dynamic cursor
};
对于采用Unicode Character Setb编译的MFC程序,如果使用snapshot方式,修改SQLServer的表,会报错:
Recordset is read-only
此时最好采用dynaset方式。
但是如果采取dynaset方式,打开Oracle数据库的表时,如果SELECT语句是复合型的,比如:
SELECT * FROM [AllMembers] WHERE [UserID] IN SELECT (...)
那么在Edit后也会报错
Driver not capable.