前页 | 后页 |
如何定义自定义SQL片段
您可以创建模板片段以从SQL查询返回数据。为此,您可以在模板片段的“文档选项”中定义一个SQL查询,然后在模板片段的“自定义”部分中添加引用SQL查询返回的列的字段。该查询取决于DBMS,因此可能会因所使用的DBMS而异。
创建一个SQL查询片段
步 |
行动 |
也可以看看 |
---|---|---|
1个 |
在文档模板编辑器中打开或创建模板片段。 |
文件范本 创建模板片段 |
2 |
在文档模板编辑器中,右键单击模板背景,然后单击图标。 显示“文档选项”对话框。 |
|
3 |
选择“自定义查询”页面。 |
|
4 |
在“模板片段类型”面板中,选择“自定义SQL”单选按钮。 |
|
5 |
在选项卡上的主文本字段中,键入要在模型上运行的SQL查询。 您可以将#<macro> #s用作字符串替换,就像其他SQL搜索查询一样。 您的查询必须返回一或多个列;例如: SELECT DocName AS TemplateName ,作者AS TemplateLocation 来自t_document DocType = 'SSDOCSTYLE'和( IsActive = 1 ) SQL查询可以使用#OBJECTID#,#DIAGRAMID#或#PACKAGEID#宏来引用文档模板当前正在处理的元素,图或包的ID。例如: SELECT Count ( Object_Type ) AS CountOfActors 来自t_object WHERE Object_Type = “演员”,而Package_ID = #PACKAGEID# 您还可以使列条目成为到生成文档中元素条目的超链接。列标题字段(在模板文本本身的“自定义”面板中)必须包含后缀“ Hyperlink”;例如: .eap(JET)存储库的{Elements-Hyperlink},或其他类型的存储库的{Elements.Hyperlink} 列条目或值必须具有以下格式: { guid }标签 在这种格式中,{guid}是要链接到的元素的GUID,LABEL是超链接文本(例如元素名称),可以手动插入或从另一个命令返回。例如: {123-456-7890} 2级 在生成的报告中,该字段显示为“ Class2”,它链接到文档中Class2的描述。 此示例返回当前正在报告的元素的每个基本(父)类的超链接名称: SELECT #Concat t_object。 ea_guid, t_object。名称# AS [ BaseClassName - Hyperlink ] (用于.eap文件;对于其他存储库,请使用 AS [ BaseClassName.Hyperlink ]) 从t_object, t_connector 在t_connector。 Start_Object_ID = #OBJECTID# AND t_object。 Object_ID = t_connector。 End_Object_ID AND t_connector。 Connector_Type = '通用化' 该查询可能返回多个条目,在这种情况下,每行报告一个条目。如果需要,您可以具有多个用逗号分隔的超链接查询语句。您可以超链接到报告的元素,属性,操作,图表和包。 通过提供以下格式的列,可以强制将字段处理为超链接或格式化的注释: 定制> {名称} <fieldname> .Formatted(或<fieldname> .Hyperlink)(对于所有存储库, .eap除外 ) <自定义 在您的自定义SQL Query语句中,必须使用与模板字段名称匹配的别名。例如(在MySQL中): 从t_object中选择ea_guid AS CLASSGUID,Object_Type AS CLASSTYPE,名称,注释为“ Note.Formatted” 其中Object_ID =#OBJECTID# |
创建搜索定义 |
6 |
单击确定按钮以关闭“文档选项”对话框。 |
|
7 |
在“文档模板编辑器”的“部分”面板中,选中“自定义”复选框以生成“自定义”部分。 |
设置报告部分 |
8 |
在“自定义”部分中,右键单击并选择“插入自定义字段”选项。 出现提示,提示要创建的字段名称。 |
|
9 |
根据提示,键入查询所返回的列的名称。例如,CountOfActors。 单击确定按钮。 |
|
10 |
对于要包括在报告中的每一列重复步骤8和9。 将所需的任何其他格式和内容添加到模板片段。 |
|
11 |
保存模板片段,并将其添加到普通文档模板中。 |
将片段添加到文档模板 |
笔记
- 元素过滤器将不适用于模板片段中的“自定义”部分
- 在您的SQL语句中,您可以使用以下方法引用模型详细信息:
-#OBJECTID#返回文档模板当前正在处理的元素的ID
-#PACKAGEID#和#Package#返回当前正在使用的软件包的ID
由文档模板处理
-#Author#从“常规”页面的“作者”字段中获取用户名
“首选项”对话框,因此可以对创建的对象执行定义的搜索
由该用户(可以在“首选项”对话框中手动重置此值) - 您可以在“在项目中查找”窗口中使用SQL编辑器来测试SQL查询。