2010-08-19 17 views
2

我正在用C++編寫一個應用程序,它使用它們的I/O DLL與SPSS 15進行交互。SPSS 15 I/O DLL:修改現有案例

我們的SPSS數據庫由多個案例組成,每個案例都有其獨特的「ID」字段。

我需要做的是以讀/寫方式打開數據庫,找到具有匹配ID的大小寫,並根據我的程序解析的CSV文件修改一些變量。

有從一開始就2明顯的情況下:

  • 匹配的情況下不存在(在這種情況下,我可以很容易地使用spssOpenAppend()中加入的情況下

  • 匹配。存在的情況下(這是有問題的情況下)

在後面,我需要使用spssOpenWriteCopy()來得到一個寫句柄和spssOpenRead()有一個讀手柄:W嗨,我不太喜歡這一點,它似乎是唯一的方法來做到這一點與他們的DLL。問題是我不能移動寫入文件上的case指針(顯然,移動case指針是一個只讀操作)

這意味着我被卡住試圖弄清楚如何修改一個案例而不必迭代在所有的文件和複製所有的數據,個案,直到我找到我感興趣的情況。

我想補充一點,升級SPSS不是一個選項。

我也想避免必須手動迭代逐個案例並從頭開始構建一個新文件。

+0

我最後手動迭代通過每個案例並重建數據庫。直到今天,我還沒有發現/聽說有更好的方法來做到這一點。 – alxbl 2011-06-24 06:14:43

回答

1

我想,現在沒有人會打擾回答,現在它已經解決了。

無論如何,不​​可能在數據庫中插入一個案例。你可以編寫包裝器來模擬API,但除此之外,沒有辦法做我想做的事情,而無需手動迭代每個案例並複製它。