在嵌入式SQL指令使用宿主变数.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在嵌入式SQL指令使用宿主变数.PPT

13-7-3 測試預存程序-Management Studio(結果) 接著使用Query Express執行名為ls_ShowStudents_p的預存程序,請開啟Ch13-7-3.sql的程式檔案,如下所示: USE School GO EXEC ls_ShowStudents_p S003 GO 13-7-3 測試預存程序-Query Express(指令) 在執行上述指令傳入參數S003後,可以看到執行結果,如下圖所示: 13-7-3 測試預存程序-Query Express(結果) 嵌入式SQL程式碼需要兩個步驟的編譯過程,如下所示: 使用前置處理程式轉換成一系列的函式呼叫(Function Call),以SQL Server為例,前置處理程式名為nsqlprep.exe,可以將嵌入式SQL轉換成C語言的Embedded SQL for C(簡稱ESQL/C)函數呼叫。 嵌入式SQL程式轉換成宿主語言程式碼後,就可以使用宿主語言的編譯程式連結ESQL/C函式庫檔案建立應用程式。 13-5-1 嵌入式SQL的基礎-編譯過程 13-5-1 嵌入式SQL的基礎-編譯圖例 嵌入式SQL的優點,如下所示: 嵌入式SQL可以處理SQL指令和宿主語言變數間的資料交換,這些變數稱為「宿主變數」(Host Variables),也就是將SQL查詢結果的資料傳入宿主變數,反過來說,SQL查詢指令也可以直接使用宿主變數來建立查詢條件。 嵌入式SQL的SQL指令敘述在編譯階段就會進行語法檢查。 嵌入式SQL是ANSI-SQL 92的標準,所以很多資料庫管理系統都支援標準的嵌入式SQL。 13-5-1 嵌入式SQL的基礎-優點 #include stdio.h #include string.h /* 宣告宿主變數 */ EXEC SQL BEGIN DECLARE SECTION; char stdID[4]; char stdname[10]; char stdtel[12]; char stdbirthday[12]; float stdGPA; EXEC SQL END DECLARE SECTION; ……………. 13-5-2 嵌入式SQL的程式架構-架構1 P. 13-23 int main() { …………… strcpy(stdID, “S010”); strcpy(stdname, “陳蘭皋”); strcpy(stdtel, “04); strcpy(stdIbirthday, “1956/10/23”); stdGPA = 2.8; /* 執行新增操作, 新增學號S010 */ EXEC SQL INSERT INTO Students VALUES (:stdID, :stdname, :stdtel, :stdbirthday, :stdGPA); /* 執行更新操作, 更新學號S010 */ 13-5-2 嵌入式SQL的程式架構-架構2 EXEC SQL UPDATE Students SET GPA = GPA + 0.5 WHERE sid = :stdID; /* 執行刪除操作, 刪除學號S010 */ EXEC SQL DELETE FROM Students WHERE sid = :stdID; strcpy(stdID, “S001”); /* 執行SQL查詢,查詢學號S001的學生姓名 */ EXEC SQL SELECT name INTO :stdname FROM Students WHERE sid = :stdID; /* 顯示學生姓名 */ printf(學生姓名: %s\n%, stdname); …………… return (0); } 13-5-2 嵌入式SQL的程式架構-架構3 宣告宿主變數 在嵌入式SQL指令和C程式語言的變數交換機制是宿主變數(Host Variables),這是使用DECLAR SECTION宣告的C語言變數,如下所示: EXEC SQL BEGIN DECLARE SECTION; char stdID[4]; char stdname[10]; char stdtel[12]; char stdbirthday[12]; float stdGPA; EXEC SQL END DE

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档