数据库使用MYSQL,编程语言使用C。现在有个脚本,可以向数据库插入数据。我用过函数system(),没问题。可是一放到测试端就无法插入数据,在本机却一点问题也没有。所以,只好换个方法了。想到在连接MYSQL后使用 "source filename.sql",可是会报错,说语法不对。请问,还有没有什么方法,可以在C中执行SQL脚本?

解决方案 »

  1.   

    SOURCE是MYSQL客户端工具的命令,不是SQL命令。
    你只能想办法用 system(), 出错信息是什么?
      

  2.   

    说出来,我自己都无法相信:
    调用system没任何问题,也没任何出错信息。为了方便测试端调试,我分别在system调用前后加了输出信息,"before system" "after system",结果这两条信息都输出了。程序也没有中断。所以,我想是不是因为测试端的环境没有配置好,才会出这样的问题的。
      

  3.   

    测试端的环境没有设置好。
    确保MYSQL的bin目录在path的头位置。
    确保my.ini位置及内容正确。先用原始命令在测试端测一遍,再跑你的程序试下。
      

  4.   

    关注中,system()这个函数的具体使用方法是?
      

  5.   


    system()的原型是:int system( const char* command );
    其中command是一条SHELL命令,system执行这条命令的环境是sh,调用sh -c 执行command命令,这是在子进程中执行的。更具体的可以参考一下man手册。