Pregunta

Estoy escribiendo una aplicación en C ++ que se interconecta con SPSS 15 utilizando su I / O DLL.

base de datos

Nuestra SPSS está hecho de una serie de casos, cada una con su campo único "ID".

Lo que usted debe hacer es abrir la base de datos de lectura / escritura, encontrar el caso con el ID de juego y modificar algunas de las variables de acuerdo a archivos CSV que mis análisis sintácticos del programa.

Hay 2 casos obvios desde el principio:

  • El caso coincidente no existe (en cuyo caso, puedo usar fácilmente spssOpenAppend () para agregar el caso.

  • Existe el caso a juego. (Y este es el caso problemático)

En este último, necesito utilizar spssOpenWriteCopy () para obtener un identificador de escritura y spssOpenRead () para tener un mango de lectura. Aunque no estoy muy interesado en eso, parece que es la única manera de hacerlo con su DLL. El problema es que no me puedo mover el puntero del caso en el archivo de escritura (Al parecer, moviendo el puntero del caso es una operación de sólo lectura)

Eso significa que estoy atascado tratando de encontrar la manera de modificar un caso sin tener que iterar sobre todo el archivo y copiar todos los datos, caso por caso, hasta que encuentre el caso que estoy interesado.

Me gustaría añadir que SPSS actualización no es una opción.

También me gustaría evitar tener que caso por caso iterar manualmente y construir un nuevo archivo desde cero.

¿Fue útil?

Solución

Me imagino que nadie se va a molestar responder ahora que se ha resuelto.

De todos modos, no es posible insertar un caso en el medio de una base de datos. Se podría potencialmente envoltorios de escritura de todo el API para simularlo, pero por lo demás no hay manera de hacer lo que estoy tratando de hacer sin iterar manualmente a través de cada caso y copiarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top