smog_at
20-11-2006, 11:39
Hey @all,
ich bekomme hier immer folgenden Fehler von Interbase:
attempt to fetch past the last record in a record stream
aufrufen würde ich das ganze wie folgt:
int fetch_stat = 0;
if (isc_dsql_execute2(m_connStatus, &m_transaction, &m_statement, dialect, in_sqlda, out_sqlda)) {
//if (isc_dsql_execute2(m_connStatus, &m_transaction, &m_statement, dialect, in_sqlda, NULL)) {
cout << endl;
isc_print_status(m_connStatus);
long *pVector;
char msg[1024];
string err_message = "";
pVector = m_connStatus;
isc_interprete(msg, &pVector);
err_message = msg;
msg[0] = '-';
while(isc_interprete(msg + 1, &pVector))
err_message += msg;
cerr << err_message << endl;
}
int fetch_stat = 0;
while ((fetch_stat = isc_dsql_fetch(m_connStatus, &m_statement, 1, out_sqlda)) == 0) {
for (i = 0; i < out_sqlda->sqld; i++) {
process_column(&out_sqlda->sqlvar[i]);
}
}
if (fetch_stat != 100L) { // isc_dsql_fetch returns 100 if no more rows remain to be retrieved
isc_print_status(m_connStatus);
long *pVector;
char msg[1024];
string err_message = "";
pVector = m_connStatus;
isc_interprete(msg, &pVector);
err_message = msg;
msg[0] = '-';
while(isc_interprete(msg + 1, &pVector))
err_message += msg;
cerr << err_message << endl;
}
Kann mir da bitte jemand behilflich sein?
Vielen Dank im Voraus
Lg smog_at
P.S.: Das Statement würde wie folgt aussehen:
SELECT col1, col2, col3, FROM my_table WHERE id>=? AND id <?
ich bekomme hier immer folgenden Fehler von Interbase:
attempt to fetch past the last record in a record stream
aufrufen würde ich das ganze wie folgt:
int fetch_stat = 0;
if (isc_dsql_execute2(m_connStatus, &m_transaction, &m_statement, dialect, in_sqlda, out_sqlda)) {
//if (isc_dsql_execute2(m_connStatus, &m_transaction, &m_statement, dialect, in_sqlda, NULL)) {
cout << endl;
isc_print_status(m_connStatus);
long *pVector;
char msg[1024];
string err_message = "";
pVector = m_connStatus;
isc_interprete(msg, &pVector);
err_message = msg;
msg[0] = '-';
while(isc_interprete(msg + 1, &pVector))
err_message += msg;
cerr << err_message << endl;
}
int fetch_stat = 0;
while ((fetch_stat = isc_dsql_fetch(m_connStatus, &m_statement, 1, out_sqlda)) == 0) {
for (i = 0; i < out_sqlda->sqld; i++) {
process_column(&out_sqlda->sqlvar[i]);
}
}
if (fetch_stat != 100L) { // isc_dsql_fetch returns 100 if no more rows remain to be retrieved
isc_print_status(m_connStatus);
long *pVector;
char msg[1024];
string err_message = "";
pVector = m_connStatus;
isc_interprete(msg, &pVector);
err_message = msg;
msg[0] = '-';
while(isc_interprete(msg + 1, &pVector))
err_message += msg;
cerr << err_message << endl;
}
Kann mir da bitte jemand behilflich sein?
Vielen Dank im Voraus
Lg smog_at
P.S.: Das Statement würde wie folgt aussehen:
SELECT col1, col2, col3, FROM my_table WHERE id>=? AND id <?