>result = dbh.executeQuery("select * from employees");
for (auto row : result) {
for (auto col : row) {
std::cout
上面的代码展示了如何使用DbHelper查询Orcle数据库中的所有员工表数据,并依次输出所有行和列的值。DbHelper支持类似于SQL语法的查询,在查询时,需要传入一个查询语句,比如“select * from employees”,并且返回一个std::vector嵌套的字符串向量,代表查询结果。其中,每个向量表示一行数据,每个字符串表示一个数据的值。
DbHelper类还支持各种插入和更新操作,让用户轻松添加和修改数据库中的数据。下面是一个插入操作的示例,可以添加一个新的雇员到employees表中:
std::string sql = "insert into employees (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, MANAGER_ID, DEPARTMENT_ID) values (:id, :fname, :lname, :email, :phnum, :hiredate, :jobid, :salary, :commpct, :mgrid, :deptid)";
std::mapparams;
params[":id"] = "10001";
params[":fname"] = "John";
params[":lname"] = "Doe";
params[":email"] = "johndoe@example.com";
params[":phnum"] = "555-555-5555";
params[":hiredate"] = "01-JAN-21";
params[":jobid"] = "AD_PRES";
params[":salary"] = "24000.00";
params[":commpct"] = "0.00";
params[":mgrid"] = "0";
params[":deptid"] = "90";
int rowsAffected = dbh.executeUpdate(sql, params);
上面的代码展示了如何使用DbHelper插入一个新的雇员到employees表中。需要注意的是,这里使用的是命名占位符,也就是以冒号开头的参数名,这种方式可以更好地解决SQL注入问题。另外,DbHelper也支持问号占位符,使用方式类似。除了插入,DbHelper还支持更新和删除操作,API使用方式类似,这里不再赘述。
总之,C Oracle DBHelper类是一个非常实用的数据库类,它可以方便地连接Oracle数据库,执行各种查询和更新操作。如果你正在开发一个需要访问Oracle数据库的C++程序,那么DbHelper肯定会是你的不二选择。