日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

c语言 mysql_bind,linux C mysql的blob门类字段的插入和读取

發(fā)布時間:2025/4/16 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言 mysql_bind,linux C mysql的blob门类字段的插入和读取 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

linux C mysql的blob類型字段的插入和讀取。

RT,沒對mysql中的這種類型操作過,還請各位大神幫幫忙,需要一點代碼,確實有點急,網(wǎng)上看了一些,但是沒怎么看懂。還望指導,多謝!!

mysql

linux

c

------解決方案--------------------

要存取二進制數(shù)據(jù)。我在VB中用libmysql.dll來操作MySQL,應該說比VC來得來更復雜些。本論壇有討論,可惜現(xiàn)在論壇搜索功能不穩(wěn)定,搜索不到。現(xiàn)將收藏的內(nèi)容貼出。另外,我認為可以將二進制數(shù)據(jù)進行BASE64編碼,轉(zhuǎn)成字符串來操作,問題就簡單得多了。

MySQL中的二進制數(shù)據(jù)的存取

今天看了MySQL的文檔,也看了一些網(wǎng)上的文章,了解到了二進制數(shù)據(jù)在MYSQL中是如何處理的,許多例子是用在圖像數(shù)據(jù)

的存取中,偏偏我要存取的不是圖像數(shù)據(jù),不過也沒有關系,反正都是二進制數(shù)據(jù),沒有區(qū)別.

我現(xiàn)在總結(jié)一下在LINUX下如何用C存取二進制數(shù)據(jù).

如果是插入二進制數(shù)據(jù),你能有如下的步驟:

1,定義一個緩沖區(qū)char?buf[EB]??(What?EB??Enought?Big,hehe~~~)

2,把標準的SQL語句用sprintf或strcpy之類的函數(shù)填入,直到插入二進制的地方.在下面一步插入二進制.

3,用某種方法讀取二進制數(shù)據(jù)到tmpbuf[SIZE];

??例如:要插入的是圖像文件數(shù)據(jù),用fread(tmpbuf,?1,?sizeof(tmpbuf),?filestream),然后用

mysql_real_escape_string()函數(shù)將buf繼續(xù)填滿(注意應在第2步中填入的字串的結(jié)束字符'\0'開始填起,即不要

有'\0'),這個函數(shù)的原型為:

unsigned?long?mysql_real_escape_string(MYSQL?*mysql,?char?*to,?const?char?*from,?unsigned?long?length)

其中mysql指針是有效的,已經(jīng)連接成功的句柄,換句話說mysql必須是成功執(zhí)行mysql_real_connect()函數(shù)返回的句柄.

如果你看到了mysql_escape_string這種函數(shù),那請不要使用它,它已經(jīng)快被廢除了.

4,若還有要插入的數(shù)據(jù),繼續(xù)2,3步.

5,然后加上余下的SQL語言構(gòu)成完整的SQL語言.

6,最后你可以用mysql_real_query()來執(zhí)行SQL語言了,其原型如下:

int?mysql_real_query(MYSQL?*mysql,?const?char?*query,?unsigned?long?length)

注意:有一個要點要注意,因為二進制數(shù)據(jù)包括了許多的0或\r等等之類的字符,在字符串中有可能被解釋成其他的意思,所以我們用了上面mysql_real_escape_string()函數(shù)來拷貝數(shù)據(jù),所以我們必須有變量能記錄查詢字串buf[EB]的首尾位置,這樣我們才能知道到底查詢字串有多長,在最后把該長度傳遞給mysql_real_query函數(shù)的最后一個參數(shù).

如果是查詢到二進制的數(shù)據(jù),那也很容易,我就隨便說幾個要點:

1,構(gòu)造查詢字串.

2,執(zhí)行mysql_real_query查詢.

3,用mysql_store_result存儲結(jié)果.

4,用mysql_fetch_row取出一條記錄處理.

如果取出來的是二進制的數(shù)據(jù),要確定它的長度,必須要用mysql_fetch_lengths函數(shù)取得其長度.

mysql數(shù)據(jù)庫如何存儲二進制數(shù)據(jù)?linux下?C?API

用?mysql_stmt_send_long_data()來做

這里是mysql文檔的例子,它存儲的是text類型。blob類型類似

二進制文件讀取,可見

http://www.chinaunix.net/jh/23/312541.html

#define?INSERT_QUERY?"INSERT?INTO?test_long_data(text_column)?VALUES(?)"

MYSQL_BIND?bind[1];

long????length;

smtt?=?mysql_stmt_init(mysql);

if?(!stmt)

{

fprintf(stderr,?"?mysql_stmt_init(),?out?of?memory\n");

exit(0);

}

if?(mysql_stmt_prepare(stmt,?INSERT_QUERY,?strlen(INSERT_QUERY)))

{

fprintf(stderr,?"\n?mysql_stmt_prepare(),?INSERT?failed");

fprintf(stderr,?"\n?%s",?mysql_stmt_error(stmt));

exit(0);

}

memset(bind,?0,?sizeof(bind));

bind[0].buffer_type=?MYSQL_TYPE_STRING;

bind[0].length=?&

bind[0].is_null=?0;

/*?Bind?the?buffers?*/

if?(mysql_stmt_bind_param(stmt,?bind))

{

fprintf(stderr,?"\n?param?bind?failed");

fprintf(stderr,?"\n?%s",?mysql_stmt_error(stmt));

exit(0);

}

/*?Supply?data?in?chunks?to?server?*/

if?(!mysql_stmt_send_long_data(stmt,0,"MySQL",5))

{

fprintf(stderr,?"\n?send_long_data?failed");

fprintf(stderr,?"\n?%s",?mysql_stmt_error(stmt));

exit(0);

}

/*?Supply?the?next?piece?of?data?*/

if?(mysql_stmt_send_long_data(stmt,0,"?-?The?most?popular?open?source?database",40))

總結(jié)

以上是生活随笔為你收集整理的c语言 mysql_bind,linux C mysql的blob门类字段的插入和读取的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av 日韩 人妻 黑人 综合 无码 | 国产伦精品一区二区三区高清版 | 91麻豆精品国产 | 久久国产精品免费视频 | 国产又黄又粗又猛又爽视频 | 中文字幕不卡在线观看 | 久草福利在线观看 | 国产欧美一区二区三区视频在线观看 | 丝袜美女被c | 亚洲午夜福利一区二区三区 | 久久性视频| 久久精精品久久久久噜噜 | 久久久av免费 | 日韩视频一区在线观看 | 亚洲一区二区三区四区av | 制中文字幕音影 | 国产精品免费视频一区二区三区 | 中文字幕av片 | 好吊一区二区三区视频 | av有声小说一区二区三区 | 久久草av| 中文字幕人成人乱码亚洲电影 | 亚洲成人av中文字幕 | 久久视频中文字幕 | 日本免费在线视频观看 | 999xxxx| 好吊色一区二区三区 | 黄色av网站在线观看 | 成人公开视频 | 精品人伦一区二区三电影 | 四虎免费影视 | 91在线视频| 啪啪小视频网站 | 日韩激情成人 | 少妇婷婷| 国产精品乱轮 | 欧美一级片在线观看 | 国产国产乱老熟女视频网站97 | 亚洲av人无码激艳猛片服务器 | 另类尿喷潮videofree | 久久精品视频在线观看 | 亚洲欧洲中文 | 能看av的网站 | 亚洲美女自拍偷拍 | www四虎精品视频免费网站 | 日韩av在线免费观看 | 久久久久亚洲精品 | 欧美乱大交xxxxx潮喷l头像 | 51免费看成人啪啪片 | 青青草视频成人 | 精品亚洲一区二区三区 | 成年性生交大片免费看 | 女人舌吻男人茎视频 | 亚洲爽爽爽 | 第一色网站 | 蜜臀人妻四季av一区二区不卡 | 亚洲国产无码久久 | 在线播放第一页 | 亚洲第一黄网 | 天堂av在线中文 | 国产一级做a爰片久久毛片男男 | 欧美一区不卡 | 蜜臀久久99精品久久久 | 97久久精品 | 欧美美女在线 | 91超碰在线 | 欧美三级午夜理伦三级老人 | 99亚洲精品 | 午夜视频在线免费播放 | 欧美人与性动交xxⅹxx | 成人黄色短视频在线观看 | 欧美精品在线一区二区三区 | 91桃色视频在线观看 | 日韩视频久久 | 欧美成人r级一区二区三区 中文无码一区二区三区在线观看 | 在线观看欧美日韩 | 欧美日韩激情视频在线观看 | 丁香花婷婷 | 亚洲国产精品久久久久婷婷老年 | 国产午夜精品一区二区三区四区 | 99草视频| 中国美女一级片 | 天天天操操操 | 我的丝袜美腿尤物麻麻 | 懂色aⅴ一区二区三区免费 国产精品99在线观看 | 图片区亚洲色图 | 中文字幕一区二区不卡 | 日韩欧美在线观看一区二区 | 在线cao| 国产一区二区三区视频在线 | 香蕉视频黄在线观看 | 国产乱码久久久 | 午夜av毛片 | 美女又黄又爽 | 国产91热爆ts人妖系列 | 人人爽爽爽 | 天堂8中文在线 | 免费一级全黄少妇性色生活片 | 91在线欧美 |