请教mysql++问题,commands out of sync
我用mysql++ api来操作mysql数据库,
部分大致程序如下:
   Connection con;
   con.set_option(new MultiStatementsOption(true));
   if (!con.connect(mysqlpp::examples::db_name, cmdline.server(),
     cmdline.user(), cmdline.pass())) {
    return 1; }
   string str = "DROP TABLE IF EXISTS test_table;
                 CREATE TABLE test_table(id INT);  
                 INSERT INTO test_table VALUES(10);
                 UPDATE test_table SET id=20 WHERE id=10;";
   Query query = con.query();
   StoreQueryResult res = query.store();
这个程序段会杯多次执行,第一次执行时正常,但第二次执行时报query异常,“commands out of sync,you can't run this command now”。
请高手指教。
------解决方案--------------------
由于你是多条sql语句一次执行,因此必须把StoreQueryResult取尽才能执行下一次sql
看看能不能用query.store() != null不断取出再关闭。