形狀 APPEND 子句
shape 命令的 APPEND 子句會將一個或多個資料行附加至 Recordset。 通常,這些欄是章節欄,這些欄參考子系 Recordset。
語法
SHAPE [parent-command [[AS] parent-alias]] APPEND column-list
描述
此子句的各部分如下:
父命令
零或下列其中一項(您可以完全省略 父命令):
以大括弧 (“{}”) 括住的提供者命令,會傳回 Recordset 物件。 命令會發出給基礎數據提供者,而且其語法取決於該提供者的需求。 這通常是 SQL 語言,雖然 ADO 不需要任何特定的查詢語言。
內嵌在括弧中的另一個圖形命令。
TABLE 關鍵詞,後面接著數據提供者中的數據表名稱。
父別名
可選的別名,指向 父 Recordset。
欄位列表
下列其中一或多個項目:
匯總欄。
計算列。
使用 NEW 子句建立的新欄。
章節欄。 章節數據行定義以括弧 (“)” 括住。 請參閱下列語法。
SHAPE [parent-command [[AS] parent-alias]]
APPEND (child-recordset [ [[AS] child-alias]
RELATE parent-column TO child-column | PARAMETER param-number, ... ])
[[AS] chapter-alias]
[, ... ]
備註
子記錄集
以大括弧 (“{}”) 括住的提供者命令,會傳回 Recordset 物件。 命令會發出給基礎數據提供者,而且其語法取決於該提供者的需求。 這通常是 SQL 語言,雖然 ADO 不需要任何特定的查詢語言。
內嵌在括弧中的另一個圖形命令。
Recordset的現有形狀名稱。
TABLE 關鍵詞,後面接著數據提供者中的數據表名稱。
子別名
指涉子記錄集 的別名。
父欄位
parent-command 所傳回的 Recordset 中的一個欄。
子欄
子命令所傳回的 記錄集 中的一個欄位。
param-number
請參閱 參數化命令的作業。
chapter-alias
指向附加至父項的章節欄位的別名。
注意
子句 「父欄位 TO 子欄位」實際上是一個清單,其中每個定義的關係以逗號分隔
注意
APPEND 關鍵詞後的子句實際上是一個清單,其中每個子句之間以逗號分隔,並定義要附加到父系的另一個欄位。
當您從使用者輸入建構提供者命令做為SHAPE命令的一部分時,SHAPE會將使用者提供的提供者命令視為不透明字串,並忠實地傳遞給提供者。 例如,在下列 SHAPE 命令中,
SHAPE {select * from t1} APPEND ({select * from t2} RELATE k1 TO k2)
SHAPE 會執行兩個命令:select * from t1
和 (select * from t2 RELATE k1 TO k2)
。 如果使用者提供由分號分隔的多個提供者命令所組成的複合命令,SHAPE 就無法區分差異。 因此,在下列 SHAPE 命令中,
SHAPE {select * from t1; drop table t1} APPEND ({select * from t2} RELATE k1 TO k2)
SHAPE 執行 select * from t1; drop table t1
,但select * from t2 RELATE k1 TO k2),
未意識到 drop table t1
是獨立的,並且在此案例中是危險的提供者命令。 應用程式必須一律驗證使用者輸入,以防止發生這類潛在的駭客攻擊。
本節包含下列主題。