程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C中嵌入SQL

C中嵌入SQL

編輯:關於C語言

連接到SAMPLE數據庫,查詢LASTNAME為JOHNSON的FIRSTNAME信息。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include "util.h" #include <sqlca.h> EXEC SQL INCLUDE SQLCA; (1) main() { EXEC SQL BEGIN DECLARE SECTION; (2) char firstname[13]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; EXEC SQL CONNECT TO sample; (3) EXEC SQL SELECT FIRSTNME INTO :firstname (4)  FROM employee WHERE LASTNAME = 'JOHNSON';(4) printf( "First name = %s\n", firstname ); EXEC SQL CONNECT RESET; (5) return 0; } 上面是一個簡單的靜態嵌入SQL語句的應用程序。它包括了嵌入SQL的主要部分: (1)中的include SQLCA語句定義並描述了SQLCA的結構。SQLCA用於應用程序和數據庫之間的通訊,其中的SQLCODE返回SQL語句執行後的結果狀態。 (2)在BEGIN DECLARE SECTION和END DECLARE SECTION之間定義了宿主變量。宿主變量可被SQL語句引用,也可以被C語言語句引用。它用於將程序中的數據通過SQL語句傳給數據庫管理器,或從數據庫管理器接收查詢的結果。在SQL語句中,主變量前均有“:”標志以示區別。 (3)在每次訪問數據庫之前必須做CONNECT操作,以連接到某一個數據庫上。這時,應該保證數據庫實例已經啟動。 (4)是一條選擇語句。它將表employee中的LASTNAME為“JOHNSON”的行數據的FIRSTNAME查出,並將它放在firstname變量中。該語句返回一個結果。可以通過游標返回多個結果。當然,也可以包含update、insert和delete語句。 (5)最後斷開數據庫的連接。 從上例看出,每條嵌入式SQL語句都用EXEC SQL開始,表明它是一條SQL語句。這也是告訴預編譯器在EXEC SQL和“;”之間是嵌入SQL語句。如果一條嵌入式SQL語句占用多行,在C程序中可以用續行符“\”。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved