av网站免费线看精品_国产做a爱视频免费不_深爱激情网开心五月天_伊人五月天在线视频网

 
SQL循序漸進(24)嵌入SQL
發(fā)布時間:2005-01-27   瀏覽次數(shù):1199036
嵌入SQL 為了更好的理解嵌入SQL,本節(jié)利用一個具體例子來說明。嵌入SQL允許程序連接數(shù)據(jù)庫并且包括SQL代碼到程序中,這樣在程序中可以對數(shù)據(jù)庫進行使用、操作以及處理數(shù)據(jù)等等。以下是用C語言編寫的使用嵌入SQL的例程,它將打印一個報告;這個程序必須在普通的編譯之前先預編譯SQL語句。嵌入SQL對于不同系統(tǒng)是不一樣的,所以在不同的系統(tǒng)中對以下的程序稍作修改,特別是變量的聲明以及過程記錄等。在嵌入SQL時,考慮網(wǎng)絡(luò)、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)是相當重要的。 以下是詳細的代碼: #include /*以下這部分是聲明主機變量,它將使用于程序中*/ EXECSQLBEGINDECLARESECTION; intBuyerID; charFirstName[100],LastName[100],Item[100]; EXECSQLENDDECLARESECTION; /*以下包括SQLCA變量,它可以用來進行錯誤檢查*/ EXECSQLINCLUDESQLCA; main(){ /*以下連接數(shù)據(jù)庫*/ EXECSQLCONNECTUserID/Password; /*以下是連接數(shù)據(jù)庫并檢查是否有錯誤產(chǎn)生T*/if(sqlca.sqlcode){ printf(Printer,"Errorconnectingtodatabaseserver.\n"); exit(); } printf("Connectedtodatabaseserver.\n"); /*下面聲明一個"Cursor"。它將在查詢結(jié)果多于一行的時候使用*/ EXECSQLDECLAREItemCursorCURSORFOR SELECTITEM,BUYERID FROMANTIQUES ORDERBYITEM; EXECSQLOPENItemCursor; /*你可以在這里還可以加入另外一些錯誤檢查的內(nèi)容,這里省略了*/ /*當這個CURSOR沒有數(shù)據(jù),sqlcode將被產(chǎn)生以允許我們退出循環(huán)。這里注意,為了簡單起見,我們使程序遇到錯誤的時候退出任何的sqlcode。*/ EXECSQLFETCHItemCursorINTO:Item,:BuyerID; while(!sqlca.sqlcode){ EXECSQLUPDATEANTIQUES SETPRICE=PRICE+5 WHEREITEM=:ItemANDBUYERID=:BuyerID; EXECSQLSELECTOWNERFIRSTNAME,OWNERLASTNAME INTO:FirstName,:LastName FROMANTIQUEOWNERS WHEREBUYERID=:BuyerID; printf("%25s%25s%25s",FirstName,LastName,Item); EXECSQLFETCHItemCursorINTO:Item,:BuyerID; } /*關(guān)閉CURSOR,提交變化并退出程序。*/ EXECSQLCLOSEDataCursor; EXECSQLCOMMITRELEASE; exit(); }(編輯:dabaoku)
立即預約