我正在用C ++编写一个应用程序,它使用他们的I / O DLL与SPSS 15连接。
我们的SPSS数据库由多个案例组成,每个案例都有其唯一的“ID”字段。
我需要做的是以读/写方式打开数据库,找到具有匹配ID的大小写,并根据我的程序解析的CSV文件修改一些变量。
从一开始就有2个明显的案例:
匹配的情况不存在(在这种情况下,我可以轻松使用spssOpenAppend()来添加案例。
存在匹配的情况。 (这是有问题的案例)
在后者中,我需要使用spssOpenWriteCopy()来获取写句柄和spssOpenRead()以获得读句柄。虽然我不太热衷于此,但似乎这是用它们的DLL做到这一点的唯一方法。问题是我无法在写文件上移动case指针(显然,移动case指针是只读操作)
这意味着我不知道如何修改案例而不必迭代所有文件并逐个复制所有数据,直到找到我感兴趣的案例。
我想补充一点,升级SPSS不是一种选择。
我还想避免手动迭代逐个案例并从头开始构建新文件。
答案 0 :(得分:1)
我认为没有人会因为它已经解决而无法回答。
无论如何,无法在数据库中间插入案例。您可以在API周围编写包装器来模拟它,但是如果没有手动迭代每个案例并复制它,就没有办法做我想做的事情。