SQL脚本——Zope 3内容组件

zope.app.sqlscript的Python项目详细描述


此包为zope 3应用程序提供sql脚本内容类型。SQL语言 脚本连接到执行sql语句,结果返回到 面向对象的数据结构。

详细文档

在sqlscript

中使用其他dtml标记

使用“sqlgroup”插入可选测试

有时将输入设为可选的sql语句是很有用的。 这样做可能很困难,因为不仅必须插入测试 有条件地,但是sql布尔运算符可能需要也可能不需要 根据其他(可能是可选的)比较插入 已经完成了。“sqlgroup”标记使条件 布尔运算符的插入。

“sqlgroup”标记是一个没有属性的块标记。它可以有 任意数量的“and”和“or”延续标记。

假设我们想找到所有有名字或昵称的人 可选地限制搜索的城市和最小和最大年龄。 假设我们希望所有输入都是可选的。我们可以使用DTML源 如下所示:

<dtml-sqlgroup>
  <dtml-sqlgroup>
    <dtml-sqltest name column=nick_name type=nb multiple optional>
  <dtml-or>
    <dtml-sqltest name column=first_name type=nb multiple optional>
  </dtml-sqlgroup>
<dtml-and>
  <dtml-sqltest home_town type=nb optional>
<dtml-and>
  <dtml-if minimum_age>
     age >= <dtml-sqlvar minimum_age type=int>
  </dtml-if>
<dtml-and>
  <dtml-if maximum_age>
     age <= <dtml-sqlvar maximum_age type=int>
  </dtml-if>
</dtml-sqlgroup>

此示例演示如何嵌套组以控制布尔值 评估顺序。它还说明了分组功能可以 也可与其他DTML标记一起使用,如“if”标记。

“sqlgroup”标记检查要插入的文本是否包含其他 而不是空白字符。如果是,则插入 适当的布尔运算符,如使用“and”或“or”所示 标记,否则不插入文本。

使用“sqlgroup”插入可选测试

有时将输入设为可选的sql语句是很有用的。 这样做可能很困难,因为不仅必须插入测试 有条件地,但是sql布尔运算符可能需要也可能不需要 根据其他(可能是可选的)比较插入 已经完成了。“sqlgroup”标记使条件 布尔运算符的插入。

“sqlgroup”标记是块标记。它可以有任意数量的“and”和 “或”继续标记。

“sqlgroup”标记有一个可选属性,需要指定 必须包含至少一个测试的组。当你 希望确保查询是合格的,但希望 灵活变通。

假设我们想找到有名字或昵称的人,城市 或最小和最大年龄。假设我们希望所有的输入都是 可选,但需要一些输入。我们可以使用DTML源 如下所示:

<dtml-sqlgroup required>
  <dtml-sqlgroup>
    <dtml-sqltest name column=nick_name type=nb multiple optional>
  <dtml-or>
    <dtml-sqltest name column=first_name type=nb multiple optional>
  </dtml-sqlgroup>
<dtml-and>
  <dtml-sqltest home_town type=nb optional>
<dtml-and>
  <dtml-if minimum_age>
     age >= <dtml-sqlvar minimum_age type=int>
  </dtml-if>
<dtml-and>
  <dtml-if maximum_age>
     age <= <dtml-sqlvar maximum_age type=int>
  </dtml-if>
</dtml-sqlgroup>

此示例演示如何嵌套组以控制布尔值 评估顺序。它还说明了分组功能可以 也可与其他DTML标记一起使用,如“if”标记。

“sqlgroup”标记检查要插入的文本是否包含其他 而不是空白字符。如果是,则插入 适当的布尔运算符,如使用“and”或“or”所示 标记,否则不插入文本。

使用“sqlvar”标记插入值

“sqlvar”标记用于在sql文本中键入安全的insert值。 “sqlvar”标记与“var”标记类似,只是它替换了 具有SQL类型信息的文本格式参数。

sqlvar标记具有以下属性:

名称
要插入的变量的名称。与其他DTML标记一样, “name=”前缀可以是ommitted,通常是ommitted。
类型
要插入的值的数据类型。这个属性是 必需,可以是“string”、“int”、“float”或“nb”之一。这个 “nb”数据类型表示字符串的长度必须为 大于0。
可选
表示值是可选的标志。如果值是可选的 且未提供(或在非空值为 应为),则字符串“null”已插入。

例如,给定标记:

<dtml-sqlvar x type=nb optional>

如果“x”的值为:

Let\'s do it

然后插入的文本是:

‘Let’’s do it’

但是,如果x是ommitted或空字符串,则插入的值 为“空”。

变化

3.5.0(2009-02-01)

  • 使用zope.container而不是zope.app.container

3.4.1(2007-10-31)

  • 解决ZopeSecurityPolicy弃用警告。

3.4.0(2007-10-27)

  • 独立于主zope树的初始发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用MVC设计模式观察嵌套对象   java将多个客户端连接到服务器   合并Java Web应用程序   Spring Security中未捕获java AuthenticationSuccessEvent   java Firebase JSON到Arraylist内部的Arraylist,存在对象问题   在Java15的sealedclasses特性中,final类和非密封类之间有什么区别?   java我可以使用数组。copyOf制作二维数组的防御副本?   java球不会在屏幕上移动   Java类如何在同一个文件中包含两个类?   java使用“Character.isWhiteSpace”删除所有空白   java阻止在RealmList中保存时创建领域对象   如何仅在ConnectionFactory上使用Java JMS身份验证   spring可以强制java对象在运行时实现接口吗?   socket无法在JAVA中使用TCP启用双工模式通信