我想将Interbase错误消息的文本从错误状态提取到用户定义的缓冲区。所以,我使用的是isc_interprete(msg,& pvector)方法,但它正在弃用。 我听说fb_Interpret()被替换为ISC_Interprete()。我尝试使用fb_interpret(& errors,status_vector,sizeof(errors)),但它说它抛出错误:EXC_BAD_ACCESS。
你们可以建议如何执行它。
char** SQLQuery(char *query, uint maxRows)
{
isc_tr_handle transactionHandle = NULL;
isc_db_handle database = SQLGetDatabase();
short bufferLength;
char dpb_buffer[256], *dpb, *p;
ISC_STATUS **ptr1,*ptr, status_vector[20];
char errors[256];
isc_start_transaction(status_vector, &transactionHandle, 1, &database, 0, NULL);
(isc_dsql_execute_immediate(status_vector, &database, &transactionHandle, 0, query, 1, NULL));
{
fb_interpret(&errors, status_vector, sizeof(errors));
//isc_print_status(status_vector);
//ERREXIT(status_vector, 1);
}
//isc_print_status(status_vector);
isc_commit_transaction(status_vector, &transactionHandle);