資料庫 資料庫程式設計二

2021-09-07 07:25:44 字數 3364 閱讀 7756

//

標頭檔案#include #include

#include

#include

#include

#include

#include

#ifdef __cplusplus

extern"c

"#endif

//

輔助方法實現

#include "

pub.h"//

設定退格鍵不回顯

intset_backkey()

/*設定tremios的擦除字元功能為退格鍵

*/term.c_cc[verase] = '\b'

;

if (tcsetattr(stdin_fileno, tcsanow, &term) == -1

)

return0;

}//獲取使用者sql語句,判斷使用者操作,不區分大小寫

void read_user_print(mysql *pmysql, mysql *connection)

/*等待使用者控制台輸入

*///

獲取資料庫名稱

char buf_mysql[100] = ;

strcpy(buf_mysql,

"mysql1>");

int i = 0,j = 0

;

char temp_buf[1024] = ;

while (1

) ;

read(stdin_fileno, buf_read,

sizeof

(buf_read));

/*執行使用者sql

*//*

判斷使用者輸入的是查詢操作,還是更新操作,

* 更新操作有 update,delete,use,set,insert

* 注意不區分大小寫匹配

* 將使用者所有輸入都轉化為大寫,遇到空格結束

* */memset(temp_buf,

0,sizeof

(temp_buf));

strcpy(temp_buf, buf_read);

for (i=0; i < strlen(temp_buf); i++)

} else

}int flag = 0

;

if (strncmp(temp_buf, "

update

", 6) == 0

)

else

if (strncmp(temp_buf, "

delete

", 6) == 0

)

else

if (strncmp(temp_buf, "

use", 3) == 0

)

else

if (strncmp(temp_buf, "

set", 3) == 0

)

else

if (strncmp(temp_buf, "

insert

", 6) == 0

)

//執行mysql_query()

if (mysql_query(connection, buf_read) != 0

)

if(flag)

else

mysql_row row;

mysql_field *field;

/*展示列資料

*/int numx = 0

;

while (1

)

printf("\n

");while (1

)

/*每行換行

*/printf("\n

");}

//釋放查詢結果集

mysql_free_result(result);

}printf("\n

");}

}

//

mysql客戶端實現

#include "

pub.h

"int main(int arg, char *args)

char hostname[100] = ;

char username[100] = ;

char passwd[100] = ;

//char dbname[100] = ;

if (strncmp(args[1], "

-h", 2) == 0

)

else

if (strncmp(args[1], "

-u", 2) == 0

)

else

//獲取密碼

strcpy(passwd, getpass("

enter password:

"));

//設定退格鍵不回顯

if (set_backkey() < 0

)

//建立mysql connection

mysql mysql, *connection=null;

//init mysql

mysql_init(&mysql);

//connect mysql server

connection = mysql_real_connect(&mysql, hostname, username, passwd, "", 0

,

0, 0

);

if (connection ==null)

/*使用者輸入

*/read_user_print(&mysql,connection);

//close sql server

mysql_close(connection);

return0;

}

.suffixes:.c .o

cc=gcc

srcs=tec01.c\

pub.c

objs=$(srcs:.c=.o)

exec=runsql

start:$(objs)

$(cc) -o $(exec) $(objs) -lmysqlclient

@echo

"-------ok----------

".c.o:

$(cc) -wall -g -o $@ -c $rm -f $(objs)

rm -f $(exec)

資料庫(二),資料庫起源

現在需要開發一套資訊系統,記錄系裡的學生 課程 還有選課資訊。比如 可以使用三個獨立的文字檔案來儲存這些資訊,比如學生資訊 然後程式只需要讀寫這三個檔案就可以了。到了期末,各個老師希望能進行一些統計的工作,比如哪些人不及格,某學科的平均分等等。實際上就是對檔案進行查詢而已。如果每次都使用程式來進行操...

MFC Access資料庫(ADO資料庫程式設計)

最近專案需要使用到資料庫,專案本身使用的是mfc。於是選擇了簡單的access資料,本文將介紹本人如何在mfc使用的access資料庫。順帶提一句,本文使用的系統為win8.1,64位,編譯環境為vs2010和office2010,如出現連線問題,可以看看access的位數與系統位數是否一致。本文是...

資料庫概述之資料庫程式設計

嵌入式sql程式設計例項 exec sql begin declare section 主變數說明開始 char deptname 20 char hsno 9 char hsname 20 char hs 2 int hsage int newage exec sql end delcare se...