Pro*c源程序中使用宿主结构保存查询结果
生活随笔
收集整理的這篇文章主要介紹了
Pro*c源程序中使用宿主结构保存查询结果
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
開發(fā)環(huán)境:VC6 + XP + Oracle10
?Pro*c源程序如下:
/*功能:演示了在pro*c源程序中使用結構體(宿主結構)來保存查詢結果使用宿主結構的注意事項1. 結構成員的數(shù)據(jù)類型、順序必須與內嵌SQL語句中列的數(shù)據(jù)類型和順序匹配2. 宿主結構與PL/SQL的記錄類型(RECORD)非常類似。但注意,在開發(fā)內嵌PL/SQL程序時不能將宿主結構作為PL/SQL記錄變量的宿主變量3. 不能使用嵌套的宿主結構4. 不能使用C聯(lián)合(union)作為宿主結構,也不能在宿主結構中嵌套聯(lián)合。*/#include <stdio.h> #include <string.h> #include <stdlib.h>#include <sqlca.h>int connect(); void sql(); void sql_error();void main() {EXEC SQL WHENEVER SQLERROR DO sql_error();if(connect() == 0){sql();EXEC SQL COMMIT RELEASE;}elseprintf("連接失敗\n"); }int connect() // connect to oracle database {char username[10], password[10], server[10];strcpy(username, "llp");strcpy(password, "llp");strcpy(server, "ORAL");EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server;if(sqlca.sqlcode == 0)return 0;elsereturn sqlca.sqlcode; }void sql_error() // print error infomation {printf("%.*s\n", sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc); }void sql() // 執(zhí)行SQL語句 {char iname[10];struct // 定義結構體及變量{char name[10];float salary;}emp_record;printf("請輸入iname: ");gets(iname); // 接收name的輸入fflush(stdin);EXEC SQL Select name, salary into :emp_record from PLSQLTEST where name=:iname;printf("name = %s, salary = %.f\n", emp_record.name, emp_record.salary); }
對應的表結構為:
表中數(shù)據(jù)如截圖:
?
總結
以上是生活随笔為你收集整理的Pro*c源程序中使用宿主结构保存查询结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++使用Json作为数据包装格式的通信
- 下一篇: java 生成拼音首字母_java 根据