一直以为c++ 程序中,  
insert into table (t1,t2) vlaues(%d,%d);
这种写法就是绑定变量,后面查询v$sql这张视图,发现并不是这样的。 
请问, 在c++ 中绑定变量是怎么实现的呢?  有没有类似java 的   
insert into tab (t1,t2) values (?,?) ; 这样的

解决方案 »

  1.   

    这个和java类似啊,
    比如你用occi的话,
    首先你肯定有个occi::Statement*类型的变量,比如是_stmt
    _stmt->setSQL("insert into tab (t1,t2) values (:1,:2)");
    _stmt->setString(1, "a");
    _stmt->setString(2, "b");
    _stmt->executeUpdate();
    类似上面这样就可以了。
    :1,:2可以随便去名字,比如:t1,:t2都行,关键是出现的顺序,
    这个决定了setString那里的第一个参数的值1,2,3...。