У меня есть запрос ADO, который я использую для сбора данных, а затем для обновления этих данных. (Embarcadaro C++ Xe2 & Oracle 10g). Rownum (aliased to pgnum) также выбран и в этом запросе. При публикации данных, отредактированных с помощью этого запроса, я получаю недопустимый идентификатор «pgnum». Это, похоже, проблема с ADO, поскольку этот же код работал в предыдущих версиях нашего программного обеспечения. Недавно мы преобразовали все наши запросы в ADO из Tquery (старый BDE Driven). Добавление «pgnum» к постоянным полям запросов не помогает. Любые советы будут очень признательны. Таблица 1 представляет собой ADOQuery.Недопустимый идентификатор при редактировании запроса ADO
sql = "SELECT ROWNUM PGNUM, A.* FROM DOCUMENT_IMAGE A WHERE DOCNO = " + String(Form1->qryDocumentDOCNO->AsInteger) + " ORDER BY ROWNUM ";
Table1->Close();
Table1->SQL->Clear();
Table1->SQL->Add(sql);
Table1->Open();
Table1->Edit();
Table1IMAGE->LoadFromFile(filepath);
if (Table1->Modified){
Table1->Post();
}
После тонких исследований и испытаний я не мог получить ничего, чтобы работать, сохраняя rownum в запросе. Я честно не уверен, что это было сделано, я взял этот проект от кого-то другого. Во всяком случае, я удалил rownum и использовал другое поле для заказа запроса, решена проблема. – scollins45