Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用fb_解释时EXC_错误_访问错误_C_Xcode_Firebird_Firebird2.5_Firebird2.1 - Fatal编程技术网

使用fb_解释时EXC_错误_访问错误

使用fb_解释时EXC_错误_访问错误,c,xcode,firebird,firebird2.5,firebird2.1,C,Xcode,Firebird,Firebird2.5,Firebird2.1,我想将Interbase错误消息的文本从错误状态提取到用户定义的缓冲区。所以,我使用的是isc_解释器msg,&pvector方法,但它是不推荐的。 我听说fb_口译被ISC_口译取代。我试着使用fb_exploration&errors、status_vector、sizeoferrors,但它说它抛出错误:EXC_BAD_访问 你们能建议一下怎么执行吗 char** SQLQuery(char *query, uint maxRows) { isc_tr_handle trans

我想将Interbase错误消息的文本从错误状态提取到用户定义的缓冲区。所以,我使用的是isc_解释器msg,&pvector方法,但它是不推荐的。 我听说fb_口译被ISC_口译取代。我试着使用fb_exploration&errors、status_vector、sizeoferrors,但它说它抛出错误:EXC_BAD_访问

你们能建议一下怎么执行吗

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);

ISC_LONG ISC_EXPORT fb_interprecisc_SCHAR*,无符号整数,常量ISC_STATUS**@BLUEPIXY我建议你把它作为一个额外解释的答案发布。谢谢。它很好用