?? testdb.c
字號:
#include <stdlib.h>
#include <math.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <sys/time.h>
#include <time.h>
#include <string.h>
#include <signal.h>
#include <dirent.h>
#define USERNAME "scttsc"
#define PASSWORD "scttsc"
#define DATABASE "EYE"
EXEC SQL INCLUDE sqlca;
EXEC SQL WHENEVER SQLERROR DO sqlerror();
void sqlerror();
int cdb_OpenDatabase( char *u_name, char *u_pwd, char *u_dbs )
{
VARCHAR sid[64];
if( u_dbs == NULL || u_dbs[0] == '\0' ) {
EXEC SQL CONNECT :u_name IDENTIFIED BY :u_pwd;
}else {
sprintf( (char *)sid.arr, "%s/%s@%s", u_name, u_pwd, u_dbs );
sid.len = strlen( (char *)sid.arr );
EXEC SQL CONNECT :sid;
}
return sqlca.sqlcode;
}
void cdb_CloseDatabase()
{
EXEC SQL COMMIT WORK RELEASE;
}
void cdb_CommitDatabase()
{
EXEC SQL COMMIT WORK RELEASE;
}
void cdb_RollBackDatabase()
{
EXEC SQL ROLLBACK WORK RELEASE;
}
void getdbinfo(char uname[64],char pword[64])
{
EXEC SQL BEGIN DECLARE SECTION;
char * username;
char * password;
char * database=DATABASE;
int dType,htID;
char tpName[50],tName[50];
EXEC SQL END DECLARE SECTION;
username=strdup(uname);
password=strdup(pword);
if(cdb_OpenDatabase(username,password,database)==0)
printf("數據庫打開成功...\n");
else{
printf("數據庫打開失敗...\n");
exit(1);
}
EXEC SQL DECLARE cs_ct CURSOR FOR select TYPE_ID,TYPE_NAME,TABLE_NAME,HTYPE_ID from DEVICETYPE;
EXEC SQL OPEN cs_ct;
while(1){
EXEC SQL FETCH cs_ct into:dType,:tpName,:tName,:htID;
if(sqlca.sqlcode==1403 ) break;
if(sqlca.sqlcode==-1002 ) {
printf("devtype devid db fetch error\n");
break;
}
printf("dType=%d,tpName=%s,tName=%s,htID=%d\n",dType,tpName,tName,htID);
}
cdb_CommitDatabase();
}
void sqlerror()
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("\noracle error detected:\n");
printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK RELEASE;
exit(-1);
}
int main(int argc,char** argv)
{
getdbinfo(USERNAME,PASSWORD);
exit(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -