• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python core.QgsSQLStatement类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中qgis.core.QgsSQLStatement的典型用法代码示例。如果您正苦于以下问题:Python QgsSQLStatement类的具体用法?Python QgsSQLStatement怎么用?Python QgsSQLStatement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了QgsSQLStatement类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: checkNominal

 def checkNominal(self, statement, expected_dump=None):
     exp = QgsSQLStatement(statement)
     self.assertEqual(exp.hasParserError(), False)
     self.assertEqual(exp.parserErrorString(), "")
     if expected_dump is None:
         expected_dump = statement
     self.assertEqual(exp.dump(), expected_dump)
     self.assertEqual(exp.dump(), exp.rootNode().clone().dump())
开发者ID:timlinux,项目名称:QGIS,代码行数:8,代码来源:test_qgssqlstatement.py


示例2: testNominalSimple

 def testNominalSimple(self):
     statement = "SELECT a FROM t"
     self.checkNominal(statement)
     exp = QgsSQLStatement(statement)
     statement_node = exp.rootNode()
     self.assertEqual(statement_node.nodeType(), QgsSQLStatement.ntSelect)
     tables = statement_node.tables()
     self.assertEqual(len(tables), 1)
     table = tables[0]
     self.assertEqual(table.nodeType(), QgsSQLStatement.ntTableDef)
     self.assertEqual(table.name(), 't')
     self.assertEqual(table.alias(), '')
     columns = statement_node.columns()
     self.assertEqual(len(columns), 1)
     column = columns[0]
     self.assertEqual(column.nodeType(), QgsSQLStatement.ntSelectedColumn)
     column_ref = column.column()
     self.assertEqual(column.alias(), '')
     self.assertEqual(column_ref.nodeType(), QgsSQLStatement.ntColumnRef)
     self.assertEqual(column_ref.name(), 'a')
     self.assertEqual(column_ref.tableName(), '')
开发者ID:timlinux,项目名称:QGIS,代码行数:21,代码来源:test_qgssqlstatement.py


示例3: testBasicValidationCheck

    def testBasicValidationCheck(self):
        exp = QgsSQLStatement("error")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertFalse(b)
        self.assertEqual(errorMsg, 'No root node')

        exp = QgsSQLStatement("SELECT c FROM t")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertTrue(b)
        self.assertEqual(errorMsg, '')

        exp = QgsSQLStatement("SELECT t.c FROM t ORDER BY t.c")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertTrue(b)
        self.assertEqual(errorMsg, '')

        exp = QgsSQLStatement("SELECT t.c FROM t t_alias")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertFalse(b)
        self.assertEqual(
            errorMsg, 'Table t is referenced by column c, but not selected in FROM / JOIN.')

        exp = QgsSQLStatement(
            "SELECT CAST(1 + foo(t_unknown.a) AS varchar) FROM t")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertFalse(b)
        self.assertEqual(
            errorMsg, 'Table t_unknown is referenced by column a, but not selected in FROM / JOIN.')

        exp = QgsSQLStatement("SELECT c FROM t WHERE t_unknown.a = 1")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertFalse(b)
        self.assertEqual(
            errorMsg, 'Table t_unknown is referenced by column a, but not selected in FROM / JOIN.')

        exp = QgsSQLStatement(
            "SELECT c FROM t JOIN t2 ON t.c1 = t2.c2 AND t3.c3 IS NOT NULL")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertFalse(b)
        self.assertEqual(
            errorMsg, 'Table t3 is referenced by column c3, but not selected in FROM / JOIN.')

        exp = QgsSQLStatement("SELECT c FROM t ORDER BY t_unknown.c")
        (b, errorMsg) = exp.doBasicValidationChecks()
        self.assertFalse(b)
        self.assertEqual(
            errorMsg, 'Table t_unknown is referenced by column c, but not selected in FROM / JOIN.')
开发者ID:timlinux,项目名称:QGIS,代码行数:47,代码来源:test_qgssqlstatement.py


示例4: checkError

 def checkError(self, statement):
     exp = QgsSQLStatement(statement)
     self.assertEqual(exp.hasParserError(), True)
     self.assertNotEqual(exp.parserErrorString(), '')
     self.assertEqual(exp.dump(), "(no root)")
     self.assertEqual(exp.rootNode(), None)
开发者ID:timlinux,项目名称:QGIS,代码行数:6,代码来源:test_qgssqlstatement.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python core.QgsSVGFillSymbolLayer类代码示例发布时间:2022-05-26
下一篇:
Python core.QgsRuleBasedRenderer类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap