国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQL循序漸進(24)嵌入SQL

2024-07-21 02:12:38
字體:
來源:轉載
供稿:網友

嵌入sql

為了更好的理解嵌入sql,本節利用一個具體例子來說明。嵌入sql允許程序連接數據庫并且包括sql代碼到程序中,這樣在程序中就可以對數據庫進行使用、操作以及處理數據等等。以下是用c語言編寫的使用嵌入sql的例程,它將打印一個報告;這個程序必須在普通的編譯之前先預編譯sql語句。嵌入sql對于不同系統是不一樣的,所以在不同的系統中對以下的程序稍作修改,特別是變量的聲明以及過程記錄等。在嵌入sql時,考慮網絡、數據庫管理系統、操作系統是相當重要的。

以下是詳細的代碼:

#include <stdio.h>

/* 以下這部分是聲明主機變量,它將使用于程序中*/

exec sql begin declare section;

int buyerid;

char firstname[100], lastname[100], item[100];

exec sql end declare section;


/* 以下包括sqlca變量,它可以用來進行錯誤檢查 */

exec sql include sqlca;

main() {

/* 以下連接數據庫*/

exec sql connect userid/password;

/* 以下是連接數據庫并檢查是否有錯誤產生t */ if(sqlca.sqlcode) {

printf(printer, "error connecting to database server./n");

exit();

}

printf("connected to database server./n");

/* 下面聲明一個 "cursor"。它將在查詢結果多于一行的時候使用*/

exec sql declare itemcursor cursor for

select item, buyerid

from antiques

order by item;

exec sql open itemcursor;

/* 你可以在這里還可以加入另外一些錯誤檢查的內容,這里就省略了*/

/* 當這個cursor沒有數據, sqlcode將被產生以允許我們退出循環。這里注意,為了簡單起見,我們使程序遇到錯誤的時候就退出任何的sqlcode。*/

exec sql fetch itemcursor into :item, :buyerid;

while(!sqlca.sqlcode) {

exec sql update antiques

set price = price + 5

where item = :item and buyerid = :buyerid;

exec sql select ownerfirstname, ownerlastname

into :firstname, :lastname

from antiqueowners

where buyerid = :buyerid;

printf("%25s %25s %25s", firstname, lastname, item);


exec sql fetch itemcursor into :item, :buyerid;

}

/* 關閉cursor,提交變化并退出程序。*/

exec sql close datacursor;

exec sql commit release;

exit();

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪市| 莎车县| 湖北省| 内黄县| 西城区| 南部县| 温州市| 邛崃市| 黎川县| 唐山市| 南漳县| 肃北| 红桥区| 潮州市| 长子县| 赣榆县| 瓮安县| 长治县| 汪清县| 焦作市| 南平市| 苍山县| 班戈县| 电白县| 舟山市| 枣庄市| 宁化县| 司法| 贺州市| 北碚区| 门源| 桦南县| 垫江县| 定边县| 景洪市| 伊宁县| 汕头市| 赣州市| 广丰县| 社会| 安化县|