У меня есть простая программа, которая считывает данные из базы данных, я использую ODBC, но я хочу сохранить данные или строку в массиве. Я сохранил его в SQLPOINTER col [50]. Как я могу вернуть весь массив? Является ли это возможным? NB, я не хочу печатать данные в массиве, просто хочу, чтобы значения в массиве (у меня уже есть) и возвращали весь массив, чтобы кто-нибудь из вызывающих функцию имел данные, которые они запрашивали из базы данных. Может ли кто-нибудь предложить какие-либо рекомендации? Я вроде новичок, поэтому, пожалуйста, немного терпения :-) Большое спасибо. Функция, которая у меня есть:Как вернуть массив SQLPOINTER в C?
SQLPOINTER ColPtrArray[50]
SQLPOINTER db_getData(SQLHSTMT handle)
{
retcode = SQLFetch(handle);
CHECK_ERROR(retcode, "SQLFetch()", handle, SQL_HANDLE_STMT);
if(retcode == SQL_SUCCESS)
{
printf("\nSQL_SUCCESS\n");
return ColPtrArray;
}
exit:
printf("JJJ");
}
Может
возвращение работа? Как вызывающий может обрабатывать возвращаемый массив? Когда SQLFETCH выполняется, массив заполняется значениями таблицы. Эта функция, я не включил. Да, не все пути возвращают значение. Спасибо что подметил это.
Нет, вы не можете вернуть весь массив в C. Кстати, ваш код бессмыслен в любом случае, вы возвращаете ColPtrArray, но вы никогда ничего не помещаете в этот массив. Пожалуйста, обновите свой вопрос, так что это имеет смысл. –
Не все пути управления возвращают значение. –
Когда SQLFetch выполняется, массив заполняется значениями из таблицы. У меня есть привязка столбца в другой функции. –