ERROR AL INTENTAR ESCRIBIR EN BASE DE DADOS

10/09/2003 - 02:07 por Dâmaso Constantino | Informe spam
Soy nuevo en esto. :-)

Estoy intentando leer un fichero TXT e pasarlo a una base de datos
ACCESS. - OLE DB

En su sitio abro la base de datos,

public:
HRESULT Open()
{
HRESULT hr;

hr = OpenDataSource();
if (FAILED(hr))
return hr;

return OpenRowset();



-

y se abre.

Posteriormente. leo el txt , lo ponfo cada uno en su sitio y intento
escribir. Pero de ahí no paso :-(

El problema es que no sé porqué!

el codigo es:


// Obtiene un apuntador al objecto documento

CEDDoc* pDoc = GetDocument();

// Obtiene un apuntador al conjunto de filas de GeneralED

CGeneralED* pGeneralED = &pDoc->m_GeneralED;

pGeneralED->ClearRecord(); // Deja el Record limpio



SetRecordsOnDBFields(++j,buffer,pGeneralED);

// ADD RECORD

hr = pGeneralED->Insert();
if(FAILED(hr))
MessageBox("Failed InsertpGeneralED->Insert");



-

El problema, puede ser derivado de que el primer campo, ID es automatico
y secuencial en la base de datos, y se es ese debería de haber alguna
forma de decir que guarde todos menos ese, que ya esta puesto.
Quere decir, en la inicialización de la BD debería aparecer algo como

class CGeneralEDAccessor
{
public:
...
...
ULONG m_ID_status;


para que posteriormente yo pudiera

pGeneralED->m_ID_status = DBSTATUS_S_IGNORE;



SOLO QUE NO HAY :-(

Alguien sabe decirme donde estoy metiendo la pata?

Gracias
 

Leer las respuestas

#1 Dâmaso
13/09/2003 - 19:10 | Informe spam
HAY ALGUIEN AÍ?

Dâmaso Constantino wrote:
Soy nuevo en esto. :-)

Estoy intentando leer un fichero TXT e pasarlo a una base de datos
ACCESS. - OLE DB

En su sitio abro la base de datos,

public:
HRESULT Open()
{
HRESULT hr;

hr = OpenDataSource();
if (FAILED(hr))
return hr;

return OpenRowset();



-

y se abre.

Posteriormente. leo el txt , lo ponfo cada uno en su sitio y intento
escribir. Pero de ahí no paso :-(

El problema es que no sé porqué!

el codigo es:


// Obtiene un apuntador al objecto documento

CEDDoc* pDoc = GetDocument();

// Obtiene un apuntador al conjunto de filas de GeneralED

CGeneralED* pGeneralED = &pDoc->m_GeneralED;

pGeneralED->ClearRecord(); // Deja el Record limpio



SetRecordsOnDBFields(++j,buffer,pGeneralED);

// ADD RECORD

hr = pGeneralED->Insert();
if(FAILED(hr))
MessageBox("Failed InsertpGeneralED->Insert");



-

El problema, puede ser derivado de que el primer campo, ID es automatico
y secuencial en la base de datos, y se es ese debería de haber alguna
forma de decir que guarde todos menos ese, que ya esta puesto.
Quere decir, en la inicialización de la BD debería aparecer algo como

class CGeneralEDAccessor
{
public:
...
...
ULONG m_ID_status;


para que posteriormente yo pudiera

pGeneralED->m_ID_status = DBSTATUS_S_IGNORE;



SOLO QUE NO HAY :-(

Alguien sabe decirme donde estoy metiendo la pata?

Gracias

Preguntas similares