//標頭檔案#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 .occ=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...