欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

嵌入式SQL

我們知道,標(biāo)準(zhǔn)SQL是非過程化的查詢語言,具有操作統(tǒng)一,面向集合,功能豐富,使用簡單等多項(xiàng)優(yōu)點(diǎn)。但和程序設(shè)計(jì)語言相比,高度非過程化的優(yōu)點(diǎn)也造就了它的一個(gè)缺點(diǎn):缺少流程控制能力,難以實(shí)現(xiàn)應(yīng)用業(yè)務(wù)中的邏輯控制。
------摘自《數(shù)據(jù)庫系統(tǒng)概論》(王珊,薩師煊 編著)

將SQL語句嵌入到高級(jí)語言中混合編程,SQL語句負(fù)責(zé)操縱數(shù)據(jù)庫,高級(jí)語言語句負(fù)責(zé)控制邏輯流程。

1.兩種語言之間的通信。
a.SQL通信區(qū):向宿主語言(這里是C語言)傳遞SQL語句的執(zhí)行狀態(tài)信息。SQLCODE變量 執(zhí)行成功為SUCCESS,否則為錯(cuò)誤代碼
b.主變量:宿主語言向SQL語句提供參數(shù)
c.主變量和游標(biāo):將SQL語句查詢數(shù)據(jù)庫的結(jié)果交給宿主語言處理。

下面來一個(gè)數(shù)據(jù)庫查詢的例子:

#include <stdio.h> 
#include <string.h>
#include <mysql.h>  

int main()  
{  
    MYSQL mysql;  
    MYSQL_RES *res;  
    MYSQL_ROW row;  

    int flag, t;  
    /*連接之前。先用mysql_init初始化MYSQL連接句柄*/  
    mysql_init(&mysql);  
    /*使用mysql_real_connect連接server,其參數(shù)依次為MYSQL句柄。serverIP地址。 
    登錄mysql的username,password,要連接的數(shù)據(jù)庫等*/  
    if(!mysql_real_connect(&mysql, "localhost", "root", "自己的密碼", "自己的數(shù)據(jù)庫", 0, NULL, 0))   
        printf("Error connecting to Mysql!\n");  
    else  
        printf("Connected Mysql successful!\n");  

    char query[] = "select * from log";  
    /*查詢,成功則返回0*/  
    flag = mysql_real_query(&mysql, query, (unsigned int)strlen(query));  
    if(flag) {  
        printf("Query failed!\n");  
        return 0;  
    }else {  
        printf("[%s] made...\n", query);  
    }  

    /*mysql_store_result講所有的查詢結(jié)果讀取到client*/  
    res = mysql_store_result(&mysql);  
    /*mysql_fetch_row檢索結(jié)果集的下一行*/  
    while(row = mysql_fetch_row(res)) {  
        /*mysql_num_fields返回結(jié)果集中的字段數(shù)目*/  
        for(t=0; t<mysql_num_fields(res); t++)  
        {  
            printf("%s\t", row[t]);  
        }  
        printf("\n");  
    } 

    /*關(guān)閉連接*/  
    mysql_close(&mysql);  
    return 0;  
}

我們可以看到,這些代碼里面沒有直接使用嵌入式SQL,因?yàn)镸ySQL已經(jīng)為我們封裝好了一些函數(shù),來進(jìn)行數(shù)據(jù)的連接,執(zhí)行SQL語句等等,對(duì)這些封裝函數(shù)感興趣的可以查看這篇博客:
鏈接:https://www.cnblogs.com/clnchanpin/p/6731515.html

編譯的時(shí)候要注意:
1.如果報(bào)錯(cuò)說找不到mysql.h頭文件,可能真的沒有,需要安裝一下,如下圖:使用mysql_config命令查看各種庫的位置等,如果沒有這個(gè)命令(程序),就需要根據(jù)提示安裝。
上圖:
圖片說明

2.編譯的時(shí)候加上這些庫,比如我的編譯命令:

g++ -o insetSQL_test insetSQL_test.cpp -I /usr/include/mysql -L /usr/lib64/mysql -lmysqlclient

這些庫的位置是通過剛才那個(gè)命令得知的:

mysql_config

上圖:
圖片說明

最后來看程序執(zhí)行結(jié)果:
圖片說明
可以看到把查詢結(jié)果顯示出來了,jason 1,這是因?yàn)槲沂孪冉o數(shù)據(jù)庫的這個(gè)表插入了一條數(shù)據(jù)。

全部評(píng)論

相關(guān)推薦

想當(dāng)年校招真的面了很多試,所以也碰上了各種各樣、奇奇怪怪的事,最好笑的就是和相親相愛的室友在同一場群面遇上了,還要瘋狂裝不熟,給我憋笑得難受哈哈哈哈&nbsp;故事的開始是我點(diǎn)進(jìn)一場群面線上會(huì)議,在茫茫競爭者中看到了和我一樣的學(xué)校前綴。再往后看,這不是我親愛的室友的名字嘛!再看臉!這不就是我親愛的室友本人嘛!她看起來好像在開小差,但又好像發(fā)現(xiàn)了什么。我迅速低頭劃手機(jī)認(rèn)親??別問為什么群面還能玩手機(jī),因?yàn)槲覀z都并不想去這個(gè)公司(走下坡路的傳統(tǒng)行業(yè)),就當(dāng)面試練手了。但暴露我倆同居兩年的關(guān)系也不太好,以免有被認(rèn)為作弊和拉幫結(jié)派的風(fēng)險(xiǎn),室友大義凌然地說道:但是我們自我介紹的學(xué)校和專業(yè)都是一樣的哇!不過別人就算...
你也愛聽富士山下嗎:好好笑,之前我做家教兼職的時(shí)候和室友找了一樣的機(jī)構(gòu),時(shí)間還約在前后腳(因?yàn)槲覀冋n程一樣的空閑時(shí)間也一樣),結(jié)果剛面試完不久,室友那邊也開始面試了,結(jié)果她還忘記關(guān)公放麥了,我從她的電腦里聽到了剛才面試官的聲音啊啊啊啊
點(diǎn)贊 評(píng)論 收藏
分享
群星之怒:不是哥們,你就不好奇癱瘓三十年的老植物人是啥樣的嗎?
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
點(diǎn)贊
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
牛客企業(yè)服務(wù)