ดูผลลัพธ์ใน SQL Server
ถ้าคุณกำลังใช้รูปแบบการเข้าถึงตารางโดยตรงหรือมุมมอง ผลลัพธ์ของคิวรีจะถูกผูกไว้กับตัวควบคุมหรือตาราง Power Fx เปิดใช้งานการเพจข้อมูลในแอปของคุณไปยังแกลเลอรีหรือตารางโดยอัตโนมัติ อย่างไรก็ตาม Stored Procedure สามารถส่งคืนผลลัพธ์การสอบถาม รหัสส่งคืน หรือค่าจากพารามิเตอร์ Out
ได้
หากต้องการใช้ชนิดผลลัพธ์ที่แตกต่างกันเหล่านี้ในแอปพลิเคชันของคุณ ให้ใช้รูปแบบต่อไปนี้
สูตรสำหรับตัวควบคุมต่างๆ
สูตรทั่วไปสำหรับมุมมองและ Stored Procedure:
ตัวควบคุม | คุณสมบัติ | สูตร | Description |
---|---|---|---|
แกลเลอรีหรือตาราง | Items | DataSource |
ตารางหรือแหล่งข้อมูลมุมมองสามารถปรับปรุงเพิ่มเติมได้ด้วย ตัวกรอง และ เริ่มต้นใช้งาน ส่วนคำสั่งคิวรีที่สร้างขึ้นอื่นๆ จะถูกผนวกเข้ากับคิวรีที่มีอยู่ |
ฟอร์ม | แหล่งข้อมูล | DataSource |
แหล่งข้อมูลตารางหรือมุมมอง |
ปุ่มส่งในฟอร์ม | OnSelect | DataSource.dboSPName({ args}); Refresh (‘DataSource’) |
DataSource แรกในสูตรนี้คือแหล่งข้อมูล Stored Procedure ซึ่งเป็นแหล่งข้อมูลที่เก็บ Stored Procedure ของคุณ DataSource ในสูตรการรีเฟรชคือแหล่งข้อมูลมุมมอง |
ปุ่มลบในฟอร์ม | OnSelect | SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) |
DataSource แรกในสูตรนี้คือแหล่งข้อมูล Stored Procedure ซึ่งเป็นแหล่งข้อมูลที่เก็บ Stored Procedure ของคุณ DataSource ในสูตรการรีเฟรชคือแหล่งข้อมูลมุมมอง |
รหัสส่งคืน
ใช้รหัสส่งคืนนี้เพื่อเข้าถึงผลลัพธ์ของคำสั่งส่งคืน
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode
พารามิเตอร์เอาต์พุต
ใช้ชื่อพารามิเตอร์ตามที่ปรากฏในส่วนข้อมูล JSON
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>
ชุดผลลัพธ์
ตารางอื่นๆ สามารถเข้าถึงได้ผ่านชื่อ เช่น Table1
, Table2
หรือ Table3
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1
ผลลัพธ์ที่ไม่ได้ระบุชนิด
Stored Procedure ที่ซับซ้อนบางอย่างจะส่งกลับผลลัพธ์ที่ไม่ได้ระบุชนิด ผลลัพธ์นี้เป็นเรื่องปกติสำหรับ Stored Procedure ซึ่งใช้ตารางชั่วคราว Power Apps ไม่สามารถกำหนดผลลัพธ์ล่วงหน้าได้อย่างง่ายดาย ดังนั้น การส่งคืนจะถูกทำเครื่องหมายว่า ไม่ได้ระบุชนิด และคุณไม่สามารถเข้าถึงผลลัพธ์เหล่านี้ได้โดยตรง คุณต้องระบุชนิดก่อน
คุณสามารถเข้าถึงข้อมูลด้วยรูปแบบตัวอย่างการเข้าถึงข้อมูลต่อไปนี้
ตัวอย่างการเข้าถึงข้อมูล
ดึงผลลัพธ์ลงในตัวแปรที่ชื่อ
MyUntypedObject
ดึง
Table1
จากตัวแปรนั้นและใส่ลงในตัวแปรที่ชื่อtable1
เคล็ดลับ
ขั้นตอนนี้ไม่ใช่ขั้นตอนที่จำเป็น อย่างไรก็ตาม ขั้นตอนนี้มีประโยชน์ในการใส่ผลลัพธ์ทั้งหมดในตัวแปร แล้วดึงส่วนที่คุณต้องการออกมาในภายหลัง
วนซ้ำ
table1
และแยกองค์ประกอบ JSON ในคู่ค่าที่มีชื่อจับคู่ชื่อกับชื่อที่ส่งคืนในส่วนข้อมูล JSON
หากต้องการตรวจสอบความถูกต้อง ให้เปิดจอภาพ Power Apps และดูที่ส่วนเนื้อหาของโหนดข้อมูลสำหรับเรกคอร์ด
Set(
<MyUntypedObject>, // pull results into variable
<datasourceName>.<StoredprocedureName>(
{ <paramName1>: "someString" }
).ResultSets
);
Set(
table1, // put Table1 into table1
<MyUntypedObject>.Table1
);
Set(
TypedTable,
ForAll(
table1, // extract JSON from table1
{
BookID: Value(ThisRecord.BookID),
BookName: Text(ThisRecord.BookName)
}
)
);