Хорошо, я не мог понять, почему это происходит, вот как я обошел это:
сначала я добавил массив в конец типа
typedef struct tagTimeStampType//TIMESTAMP_STRUCT
{
short year;
short month;
short day;
short hour;
short minute;
short second;
unsigned int fraction;
char timeStampStr[20];
} TimeStampType;//TIMESTAMP_STRUCT;
, затем добавил#ifdef
#ifdef SQLITE
SQLBindCol(hTimeStampNotes, 5, SQL_C_CHAR, noteTimeStamp.submitTime.timeStampStr, 20, &junkLong);
#else
SQLBindCol(hTimeStampNotes, 5, SQL_C_TIMESTAMP, &(noteTimeStamp.submitTime), 16, &junkLong);
и просто ходил по строке сам с небольшой функцией
void TimeStampPrep(TimeStampType *timeStamp)
{
#ifdef SQLITE
timeStamp->year = atoi(timeStamp->timeStampStr);
timeStamp->month = atoi(&(timeStamp->timeStampStr[5]));
timeStamp->day = atoi(&(timeStamp->timeStampStr[8]));
timeStamp->hour = atoi(&(timeStamp->timeStampStr[11]));
timeStamp->minute = atoi(&(timeStamp->timeStampStr[14]));
timeStamp->second = atoi(&(timeStamp->timeStampStr[17]));
return;
#else
return;
#endif
}
Я все еще пытаюсь выяснить, почему этот мой оригинальный код не будет работать с sqlite.