当前位置: 首页>>代码示例>>C++>>正文


C++ Expression::generate_sql方法代码示例

本文整理汇总了C++中Expression::generate_sql方法的典型用法代码示例。如果您正苦于以下问题:C++ Expression::generate_sql方法的具体用法?C++ Expression::generate_sql怎么用?C++ Expression::generate_sql使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Expression的用法示例。


在下文中一共展示了Expression::generate_sql方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: testCollectParams

 void testCollectParams()
 {
     Expression expr = Expression(_T("ID")) == 1 &&
         Expression(_T("A")) != String(_T("a"));
     SqlGeneratorOptions options1(NO_QUOTES, true, true);
     SqlGeneratorContext ctx1;
     String sql = expr.generate_sql(options1, &ctx1);
     CPPUNIT_ASSERT_EQUAL(string("(ID = ?) AND (A <> ?)"),
             NARROW(sql));
     SqlGeneratorOptions options2(NO_QUOTES, true, true, true);
     SqlGeneratorContext ctx2;
     sql = expr.generate_sql(options2, &ctx2);
     CPPUNIT_ASSERT_EQUAL(string("(ID = :1) AND (A <> :2)"),
             NARROW(sql));
     CPPUNIT_ASSERT_EQUAL(string("(ID = 1) AND (A <> 'a')"),
             NARROW(expr.get_sql()));
     CPPUNIT_ASSERT_EQUAL((size_t)2, ctx1.params_.size());
     CPPUNIT_ASSERT_EQUAL(1, ctx1.params_[0].as_integer());
     CPPUNIT_ASSERT_EQUAL(string("a"), NARROW(ctx1.params_[1].as_string()));
     CPPUNIT_ASSERT_EQUAL((size_t)2, ctx2.params_.size());
     CPPUNIT_ASSERT_EQUAL(1, ctx2.params_[0].as_integer());
     CPPUNIT_ASSERT_EQUAL(string("a"), NARROW(ctx2.params_[1].as_string()));
 }
开发者ID:CarverLab,项目名称:yb-orm,代码行数:23,代码来源:test_expression.cpp

示例2: options

SqlResultSet
EngineBase::select_iter(const Expression &select_expr)
{
    SqlGeneratorOptions options(NO_QUOTES,
            get_dialect()->has_for_update(),
            true,
            get_conn()->get_driver()->numbered_params(),
            (Yb::SqlPagerModel)get_dialect()->pager_model());
    SqlGeneratorContext ctx;
    String sql = select_expr.generate_sql(options, &ctx);
    auto_ptr<SqlCursor> cursor = get_conn()->new_cursor();
    cursor->prepare(sql);
    SqlResultSet rs = cursor->exec(ctx.params_);
    rs.own(cursor);
    return rs;
}
开发者ID:sunfirefox,项目名称:yb-orm,代码行数:16,代码来源:engine.cpp


注:本文中的Expression::generate_sql方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。