参考mysql安装目录下的 examples下的文件。嘿嘿。

解决方案 »

  1.   

    有这样子的例子么?
    我找找看,系统是RH linux9.0
      

  2.   

    mysql_real_query(....)只对增、删、改、查有效。
    MySQL的C API里没有建表的函数,只有建数据库,可不推荐使用。
      

  3.   

    应该是可以建表的,
    没有理由只能用手动建表。
    我找了一段代码,还没试。谁能给个可用的代码Here is an extract.....
    I hope it helps.
    please remember....u need to compile it with
    -lmysqlclient -lz options.
    #include <string.h>
    #include <stdio.h>
    #include "/usr/include/mysql/mysql.h"
    MYSQL  imysql ;
    MYSQL_RES * mydata;
    unsigned int num_fields;
    unsigned int num_rows;
    unsigned long *lengths;
    MYSQL_ROW row,;
    MYSQL_FIELD *fields;char  a[241]="";
    char  querystring[241]="";
    void mysqlinit(char user[20], char password[20], char db[20]);void main()
    {
    mysqlinit("username","userpassword","database"); a[0] ='\0';
     strcat(a,"Create Table ");
     strcat(a,tablename);
     strcat(a,"(pepsi bigint Not Null Primary,coke bigint Not Null);");
     printf(a);
     strcpy(querystring,a);if (!mysql_real_query(&imysql,querystring,strlen(querystring)))
        {    mydata = mysql_store_result(&imysql);    }
        else
        {   printf("Oops ! Error %d:
    %s\n",mysql_errno(&imysql),mysql_error(&imysql));
     mysql_close(&imysql);
     exit(0);
        }mysql_close(&imysql);
    }
    void mysqlinit(char user[20], char password[20], char db[20])
    {
    mysql_init(&imysql);
    mysql_options(&imysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name");
    if (!mysql_real_connect(&imysql,"",user,password,db,0,NULL,0))
        {
        fprintf(stderr,"FAILED !!!!   Error %s\n",mysql_error(&imysql));
        }
        else
        {
        printf( "Connection with Database established !\n");
        }
    }
      

  4.   

    试了一下,用mysql_real_connect()建表是可以的,使用方法和delete, insert, select, update一样的,上面说错了,不好意思
    楼主建不成表,可能是sql的问题吧,检查一下
      

  5.   

    mysql应该是没问题,直接建表可以建。
    你能不能把你建表的那段代码贴上来看看
      

  6.   

    我的意思是sql语句可能写错了MYSQL *myDatabase;// Connect to the database
    ………………char sql[100] = "CREATE TABLE TEST(ID int(1), NAME char(10))";
    mysql_real_query(myDatabase, sql, strlen(sql));上面写成mysql_real_connect,抱歉,最近加班加多了 ;)
      

  7.   

    问题解决,是我的存储sql语句的char *太小