限制数据类型属性冲突-ODBC with Access Database
restricted data type attribute violation - ODBC with Access Database
我正在尝试使用MFC将数据添加到Access数据库中。我有两个表,在第一个表中添加一条记录后,我会检索id并更新第二个表。第一次通过时一切正常。但对于第二次记录,表1 rs.Update()抛出了一个异常限制的数据类型属性冲突。我对两个记录使用相同的数据。表1的ID是自动生成的。
function AddData(){
rs.Open(CRecordset::snapshot, _T("SELECT * FROM Table1"));
for ( each of the objects )
{
db.BeginTrans();
rs.AddNew(); // Parent table
m_xx = xx;
.......
.....
rs.Update();
db.CommitTrans();
id = GetParentId(); // Get Id of added record
// Update the second table with id.
UpdateSecondTable ( id ) ;
}
rs.close();
}
int GetParentId(){
rs.Open(CRecordset::forwardOnly, _T("SELECT @@Identity FROM Table1"));
int id = rs.GetFieldValue();
return id;
}
提前谢谢。
@@identity
在Access中不能很好地工作。您必须使用完全相同的连接来检索插入的ID。
解决这个问题的快速破解方法如下:select max(ID) from table1
但是,这在多用户环境中是不安全的。
相关文章:
- Problems with std::cin.fail()
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 这对"With a stackless coroutine, only the top-level routine may be suspended."意味着什么
- Boost.TEST with CLion: "Test framework quit unexpectedly"
- 避免碎片化的ClientHellos with OpenSSL (DTLS)
- Issues with Win32 ReadProcessMemory API
- Qt with WinAPI MouseProc
- [[maybe_unused]] with structured_binding?
- Issue with WriteProcessMemory
- OpenCV RTP-Stream with FFMPEG
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- std::adjacent_difference with std::chrono time_point
- 将数组信息存储到 c++ 向量中有一个"Access violation reading location"
- DLL Made with CMake 使程序崩溃
- QtCreator with C 库中的链接器问题
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- specialized std::default_delete with QQmlComponent
- 限制数据类型属性冲突-ODBC with Access Database
- Bad Linux Memory Map File Performance with Random Access C++ & Python
- OpenCV C++ 'Access Violation' with SURF