使用ODB ORM执行存储过程

时间:2014-06-30 13:40:39

标签: c++ sql-server stored-procedures orm odb

Microsoft SQL Server上存储了一个过程。过程可以返回一个值。 如何使用ODB ORM从MS SQL Server数据库执行存储过程并获取此过程返回的值?

2 个答案:

答案 0 :(得分:0)

您可以使用原生视图。有关详细信息,请参阅ODB手册中的第10章“视图”。

答案 1 :(得分:0)

调用存储过程的正确解决方案如下

#pragma db view query("exec MyStoredProc (?);")
struct StoredProc
{
    int Result;
    std::string Comment;
};


.
.
.


typedef odb::result<StoredProc> Result;
typedef odb::query<StoredProc>  Query;

.
.
.

Result r( db.query<StoredProc>( Query::_val(param1) + ", "
        + Query::_val(param2) ) ) );