Yo sigo con mi "batalla" personal para acrtualizar una BB.DD. en FB 2.5. Ahora me ha surgido otro problema con un código que en otros casos me ha funcionado bien y que me tiene perplejo.
Código PHP:
int nRecTot = 0;
TIBTable *iTabla = new TIBTable(fMenu);
iTabla->Database = Query->Database;
iTabla->Name = "iTabla";
Query->Close();
Query->SQL->Text = "SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0 AND RDB$RELATION_TYPE = 0 ORDER BY RDB$RELATION_NAME";
Query->Open();
for (; !Query->Eof; Query->Next())
{
iTabla->Close();
iTabla->TableName = Query->FieldByName("RDB$RELATION_NAME")->AsString.Trim();
iTabla->Open();
iTabla->Last();
nRecTot = nRecTot + iTabla->RecordCount;
}
iTabla->Close();
delete iTabla;
if (nRecTot == 0)
{
// Código para importar datos de otra base de datos
}
Como veis el código es un tontería: Miro la lista de tablas de la base de datos, abro cada una de las tablas, miro los registros que tiene y lo añado a un contador; lo he suado cientos de veces, pero no sé porqué en este caso ese contador no se actualiza. He comprobado con el depurador que ese
iTbala->RecordCount sí da los registros de cada una de las tablas, pero no hace la suma.
He estado mirando si en alguna de las tablas del sistema (
RDB$) se guarda el número de registros de cada tabla de la base de datos pero si la hay no he sido capaz de dar con ella.
¿Alguna idea?