Informix OIC ++: запрос выдает ошибку MI_LIB_USAGE / Аргумент (ошибка клиентской библиотеки) равен NULL - PullRequest
1 голос
/ 22 февраля 2011

Используя интерфейс Informix C ++, первый запрос в порядке, но второй выдает эту ошибку

MI_LIB_USAGE: XIX000:-7520:Argument (client library error) is NULL.

Мой код

// connection okay and open
ITQuery query(conn);  
string qtext;
qtext = "SELECT * FROM transit_kunde_s WHERE erledigt='N'";
okay = query.ExecForIteration(qtext.c_str());
ITRow *row;

while (row = query.NextRow()) {
     // do stuff 

     // now update that row
     qtext = "UPDATE transit_kunde_s SET erledigt='Y' WHERE transitkunde='"+ts+"'";
     code = query.ExecForStatus(qtext.c_str());
     // ERROR
}

Есть идеи, почему?

1 Ответ

0 голосов
/ 22 февраля 2011

решение заключается в использовании нового объекта запроса:

ITQuery query_up(conn);
code = query_up.ExecForStatus(qtext.c_str());

РЕДАКТИРОВАТЬ: И если нужно разрешить транзакцию, нужно использовать новое соединение! Смотри [http://stackoverflow.com/questions/5095519/how-to-use-transactions-in-informix-csdk]

...