/* Copyright (C) 2000 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #if defined(_WIN32) || defined(_WIN64) #include #endif #include #include #include #include #include #include #include #include #define SELECT_QUERY "show create table testtable" int main(int argc, char **argv) { MYSQL mysql,*sock; MYSQL_RES *res; MYSQL_FIELD *field; char qbuf[160]; if (argc != 3) { fprintf(stderr,"usage : select_test \n\n"); exit(1); } mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysql,NULL,argv[2],argv[3],argv[1],0,NULL,0))) { fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql)); perror(""); exit(1); } sprintf(qbuf,SELECT_QUERY,1); if(mysql_query(sock,qbuf)) { fprintf(stderr,"Query failed (%s)\n",mysql_error(sock)); exit(1); } if (!(res=mysql_store_result(sock))) { fprintf(stderr,"Couldn't get result from %s\n", mysql_error(sock)); exit(1); } printf("number of fields: %d\n",mysql_num_fields(res)); field= mysql_fetch_field(res); printf("Field Name: %s\n", field->name); printf("Field Type: "); switch(field->type) { case MYSQL_TYPE_LONG_BLOB: printf("LONGBLOB"); break; case MYSQL_TYPE_MEDIUM_BLOB: printf("MEDIUMBLOB"); break; case MYSQL_TYPE_BLOB: printf("BLOB"); break; case MYSQL_TYPE_TINY_BLOB: printf("TINYBLOB"); break; case MYSQL_TYPE_VAR_STRING: printf("VARCHAR"); break; default: printf("Not BLOB at all"); } printf("\nField Length: %d, Max Length: %d\n", field->length, field->max_length); printf("\nField Flags: %d, Binary: %s\n", field->flags, (field->flags & BINARY_FLAG ? "YES (ERROR!)" : "NO (OK)")); mysql_free_result(res); mysql_close(sock); exit(0); return 0; /* Keep some compilers happy */ }