Buenas. A ver si alguien me puede ayudar. Estoy tarabjabdo con C++ 6.
Tengo un tabla en FB que cargo a partir de un ListView con este bucle:
Código:
Query1->Close();
Query1->SQL->Text = "INSERT INTO Emision (Referencia, Fecha, RefInt, PerPago, Importe, Recibos) VALUES (:Referencia, :Fecha, :RefInt, -1, :Importe, :Recibos)";
Query2->Close();
Query2->SQL->Text = "SELECT * FROM Recibos WHERE CodPrv = :CodPrv AND Referencia = :Referencia AND RefInt = :RefInt";
for (nItem = 0; nItem < Lista->Items->Count; nItem ++)
{
if (!Lista->Items->Item[nItem]->Checked)
continue;
Query2->Close();
Query2->ParamByName("CodPrv")->AsInteger = ProvTit;
Query2->ParamByName("Referencia")->AsString = Lista->Items->Item[nItem]->SubItems->Strings[5];
Query2->ParamByName("RefInt")->AsString = Lista->Items->Item[nItem]->SubItems->Strings[6];
Query2->Open();
Query1->Close();
Query1->ParamByName("Referencia")->AsString = Lista->Items->Item[nItem]->SubItems->Strings[5];
Query1->ParamByName("Fecha")->AsDateTime = fGenRec->F_cargo->Date;
Query1->ParamByName("RefInt")->AsString = cRefInt;
Query1->ParamByName("Importe")->AsFloat = fPersona->Auxiliar->FieldByName("Importe")->AsFloat;
Query1->ParamByName("Recibos")->AsString = Lista->Items->Item[nItem]->SubItems->Strings[6];
Query1->ExecSQL();
}
La carga la hace bien ya que una vez que se ejecuta el bucle que recorre el ListView la tabla tiene datos; de hecho si ejecuto este query con IBManager:
Código:
SELECT DISTINCT Referencia FROM Emision WHERE RefInt = :RefInt AND PerPago = -1
me devuelve las filas que debe (9 en la prueba que estoy haciendo). Pero si lo ejecuto desde el programa, exactamente el mismo query sobre la misma tabla, me devuelve cero filas. ¿A alguien se le ocurre por qué?