void main()  
 {    
    MYSQL mydata;  
     
 mysql_library_init(0,NULL,NULL);//初始化MySQL C API库   
   mysql_init(&mydata);//初始化mydata的数据结构,mydata是MYSQL对象  
     mysql_options(&mydata,MYSQL_SET_CHARSET_NAME,"gbk");//连接选项:添加GBK字 符集支持   
       //连接函数   
    if(mysql_real_connect(&mydata,"localhost","root","123456","lalala",3306,0, 0) != NULL)  ; 
cout<<"当前数据库连接成功"<<endl;
     mysql_select_db(&mydata,"lalala");
    cout<< mysql_query(&mydata,"create table mylala(no varchar(14))");     /*mysql_close(&mydata);*///最后步关闭数据库



system("pause");
}为何不能创建新表,返回值一直是非0.
请问语法上游什么问题,我用的是mysql的api接口

解决方案 »

  1.   

    no:保留字
    create table mylala(`no` varchar(14))
      

  2.   

    改成了  cout<< mysql_query(&mydata,"create table mylala('no' int)");     
    编译不出错,但是建表还是不成功。不知道问题在哪
      

  3.   

    直接复制我的代码,不是逗号
    `no`找找区别'no'
      

  4.   

    直接用MYSQL命令行工具连接上去,然后测试这个SQL语句看是否成功。先断定是SQL语句问题,权限问题还是C代码问题。
      

  5.   


    两位版主,谢谢你们的指导。收获些东西了,自己调试出来了。
     cout<< mysql_query(&mydata,"create table mylala(no int)");     
    这样就没问题了。谢谢。
      

  6.   

    再问一个问题int insert_number;
    cout<<"请填写要插入的值"<<endl;
    cin>>insert_number;
    cout<<insert_number<<endl;
    cout<<mysql_query(&mydata,"insert mylala (no) values (inert_numbesr)");
    system("pause");在变量insert_number中存放进了我输入的数字,但是为何却无法实现插入?