因為項目需求,必須要把圖片存儲到mysql數(shù)據(jù)庫中.
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供坡頭網(wǎng)站建設(shè)、坡頭做網(wǎng)站、坡頭網(wǎng)站設(shè)計、坡頭網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、坡頭企業(yè)網(wǎng)站模板建站服務(wù),十余年坡頭做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
首先 mysql數(shù)據(jù)庫中的表 test 字段 photo 字段的類型是 mediumblob
執(zhí)行插入數(shù)據(jù)的時候報: MySql.Data.MySqlClient.MySqlException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
意思是sql語句不對!語法錯誤!
麻煩各位大俠幫幫忙,真的很急.謝謝了.困擾 很久了.一直找不到出點,所以才來找大家的!!!
---------------------------操作數(shù)據(jù)庫的方法開始---------------------------
public static void AddPhoto(byte[] image)
{
//建立數(shù)據(jù)庫連接
MySqlConnection conn = new MySqlConnection("server=127.0.0.1;user id=root;password=FLUser;database=banklgs");
conn.Open();
//設(shè)置命令參數(shù)
string insertStr = "insert into test(photo) values(?photo)";
MySqlCommand comm = new MySqlCommand();
comm.Connection = conn;
comm.CommandText = insertStr;
comm.CommandType = CommandType.Text;
//設(shè)置數(shù)據(jù)庫字段類型MediumBlob的值為圖片字節(jié)數(shù)組imageByte
MySqlParameter paraPhoto = new MySqlParameter("?photo", MySqlDbType.MediumBlob);
paraPhoto.Value = image;
comm.Parameters.Add(paraPhoto);
//執(zhí)行命令
try
{
comm.ExecuteNonQuery();
}
catch (Exception ex)
{
ex.ToString();
}
}
---------------------------操作數(shù)據(jù)庫的方法結(jié)束---------------------------
用的是 PictureBox 控件!
---------------------------將圖片轉(zhuǎn)換為byte的地方開始---------------------------
private void photoPictureBox_DoubleClick(object sender, EventArgs e)
{
Stream photoStream = null;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
string pathName = openFileDialog1.FileName;
if ((photoStream = openFileDialog1.OpenFile()) != null)
{
using (photoStream)
{
if (photoStream.Length 50 * 1024)//文件不應(yīng)大于50K
{
this.infoPanel1.ShowInfo(InfoPanel.TipType.ERROR, "文件大小不超過50K");
return;
}
//將圖像讀入到字節(jié)數(shù)組
byte[] buffByte = new byte[photoStream.Length];
int ret = photoStream.Read(buffByte, 0, (int)photoStream.Length);
this.photo = buffByte;
Image image = Image.FromStream(photoStream, true);
Image imgPhoto = image;
if (buffByte.Length 15000)
文章知識點與官方知識檔案匹配
MySQL入門技能樹使用數(shù)據(jù)庫 創(chuàng)建和刪除數(shù)據(jù)庫
33009 人正在系統(tǒng)學(xué)習(xí)中
點擊閱讀全文
打開CSDN APP,看更多技術(shù)內(nèi)容
將圖片存入mysql數(shù)據(jù)庫中
將圖片存入mysql數(shù)據(jù)庫中,比如說用戶頭像保存到數(shù)據(jù)庫以便信息的管理
mysql存儲圖片_淺談怎么才能在MySQL中直接儲存圖片
如果你想把二進制的數(shù)據(jù),比如說圖片文件和HTML文件,直接保存在你的MySQL數(shù)據(jù)庫,那么這篇文章就是為你而寫的!我將告訴你怎樣通過HTML表單來儲存這些文件,怎樣訪問和使用這些文件。本文概述:在mysql中建立一個新的數(shù)據(jù)庫一個怎樣儲存文件的例子程序一個怎樣訪問文件的例子程序在mysql中建立一個新的database首先,你必須在你的mysql中建立一個新的數(shù)據(jù)庫,我們將會把那些二進制文件儲存在...
繼續(xù)訪問
mysql存儲圖片
轉(zhuǎn)載 mysql可以存儲圖片,并且有兩種存儲方法,分別是:1、將圖片保存的路徑存儲到數(shù)據(jù)庫;2、將圖片以二進制數(shù)據(jù)流的形式直接寫入數(shù)據(jù)庫字段中。 可以存儲圖片。在mysql存儲圖片的方法一般有兩種:其一,將圖片保存的路徑存儲到數(shù)據(jù)庫;其二,將圖片以二進制數(shù)據(jù)流的形式直接寫入數(shù)據(jù)庫字段中。 一、保存圖片的上傳路徑到數(shù)據(jù)庫: string uppath="";//用于保存圖片上傳路徑 //獲取上傳圖片的文件名 string fileFullname = this.FileUpload1.FileNa
繼續(xù)訪問
最新發(fā)布 實戰(zhàn)演練 | 使用 Navicat 在 MySQL 中存儲圖像
在今天的博客中,我們學(xué)習(xí)了如何使用Navicat Premium將圖像存儲在 MySQL 8數(shù)據(jù)庫中。詳情請點擊全文~
繼續(xù)訪問
如何將圖片存進SQL數(shù)據(jù)庫中以及從數(shù)據(jù)庫讀取照片(解決辦法)
如何將圖片存進SQL數(shù)據(jù)庫,以及如何從數(shù)據(jù)庫中讀取圖片。
繼續(xù)訪問
Mysql對于圖片的保存和取出(超詳細步驟全帶注釋)
LONGBLOB:最多存儲4,294,967,295字節(jié)的數(shù)據(jù)。MEDIUMBLOB:支持的最大長度為16,777,215字節(jié)。約等于 16363KB , 15.9MB。上傳和取出的代碼記得修改文件改成圖片位置(現(xiàn)在我用的是我直接的) 不然文件會報錯!對于數(shù)據(jù)庫的連接代碼是這個,使用的時候不要忘記修改連接數(shù)據(jù)庫的賬號密碼 以及連接使用的數(shù)據(jù)庫。BLOB:最多可以處理65,535字節(jié)的數(shù)據(jù)。約等于 63kb , 0.0624MB。對于數(shù)據(jù)庫的保存 把這里改成圖像就可以對于數(shù)據(jù)庫進行圖片預(yù)覽。
繼續(xù)訪問
關(guān)于MySQL 中存取圖片數(shù)據(jù)
使用mysql存取圖片
繼續(xù)訪問
mysql實現(xiàn)添加圖片_如何往mysql中添加圖片
往mysql中添加圖片的方法:首先創(chuàng)建一個方法使用FileInputStream讀取圖片;然后連接數(shù)據(jù)庫并寫入sql語句,用PreparedStatement執(zhí)行sql語句。本教程操作環(huán)境:windows7系統(tǒng)、mysql8.0.22版,該方法適用于所有品牌電腦。相關(guān)免費學(xué)習(xí)推薦:mysql視頻教程往mysql中添加圖片的方法:1.效果不是存了個字符串哈,可以看左邊的數(shù)據(jù)類型。2. 獲取blob數(shù)...
繼續(xù)訪問
圖片插入mysql數(shù)據(jù)庫_圖片如何存入數(shù)據(jù)庫?
展開全部1、新建一個數(shù)據(jù)庫32313133353236313431303231363533e59b9ee7ad9431333431356566,數(shù)據(jù)庫名為Image,表名為image。并為表添加ID,tupian兩個列。2、新建一個項目(Photo),在工具箱中往窗體中拖入一個PictureBox控件,兩個Button按鈕,一個OpenFileDialog控件。并修改pictureBox1控件的屬...
繼續(xù)訪問
mysql怎么放入圖片_怎么將圖片添加到mysql中
將圖片添加到mysql中的方法:首先將數(shù)據(jù)庫存儲圖片的字段類型設(shè)置為blob二進制大對象類型;然后將圖片流轉(zhuǎn)化為二進制;最后將圖片插入數(shù)據(jù)庫即可。正常的圖片儲存要么放進本地磁盤,要么就存進數(shù)據(jù)庫。存入本地很簡單,現(xiàn)在我在這里記下如何將圖片存進mysql數(shù)據(jù)庫如果要圖片存進數(shù)據(jù)庫 要將圖片轉(zhuǎn)化成二進制。1.數(shù)據(jù)庫存儲圖片的字段類型要為blob二進制大對象類型2.將圖片流轉(zhuǎn)化為二進制下面放上代碼實例...
繼續(xù)訪問
將圖片存儲到mysql數(shù)據(jù)庫
正常的圖片儲存要么放進本地磁盤,要么就存進數(shù)據(jù)庫。存入本地很簡單,現(xiàn)在我在這里記下如何將圖片存進mysql數(shù)據(jù)庫 如果要圖片存進數(shù)據(jù)庫 要將圖片轉(zhuǎn)化成二進制。 1.數(shù)據(jù)庫存儲圖片的字段類型要為blob二進制大對象類型 2.將圖片流轉(zhuǎn)化為二進制 下面放上代碼實例 一、數(shù)據(jù)庫 CREATE TABLE `photo` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `photo` blob, PRIMARY KEY (`id
繼續(xù)訪問
mysql 圖片_將圖片儲存在MySQL數(shù)據(jù)庫中的幾種方法
通常對用戶上傳的圖片需要保存到數(shù)據(jù)庫中。解決方法一般有兩種:1、將圖片保存的路徑存儲到數(shù)據(jù)庫;2、將圖片以二進制數(shù)據(jù)流的形式直接寫入數(shù)據(jù)庫字段中。以下為具體方法:一、保存圖片的上傳路徑到數(shù)據(jù)庫:string uppath="";//用于保存圖片上傳路徑//獲取上傳圖片的文件名string fileFullname = this.FileUpload1.FileName;//獲取圖片上傳的時間,以時...
繼續(xù)訪問
如何把圖片儲存在mysql里_如何將圖片儲存在數(shù)據(jù)庫里_MySQL
如果你想把二進制的數(shù)據(jù),比如說圖片文件和HTML文件,直接保存在你的MySQL數(shù)據(jù)庫,那么這篇文章就是為你而寫的!我將告訴你怎樣通過HTML表單來儲存這些文件,怎樣訪問和使用這些文件。本文概述:。在mysql中建立一個新的數(shù)據(jù)庫。一個怎樣儲存文件的例子程序。一個怎樣訪問文件的例子程序在mysql中建立一個新的database首先,你必須在你的mysql中建立一個新的數(shù)據(jù)庫,我們將會把那些二進制文件...
繼續(xù)訪問
熱門推薦 mysql存儲和讀取圖片
首先,介紹一下mysql相關(guān)的數(shù)據(jù)類型
繼續(xù)訪問
如何將圖片保存至數(shù)據(jù)庫?
通常對用戶上傳的圖片需要保存到數(shù)據(jù)庫中。解決方法一般有兩種:一種是將圖片保存的路徑存儲到數(shù)據(jù)庫;另一種是將圖片以二進制數(shù)據(jù)流的形式直接寫入數(shù)據(jù)庫字段中。以下為具體方法:一、保存圖片的上傳路徑到數(shù)據(jù)庫: string uppath="";//用于保存圖片上傳路徑 //獲取上傳圖片的文件名 string fileFullname = this.FileUpload1.FileName...
繼續(xù)訪問
關(guān)于圖片或者文件在數(shù)據(jù)庫的存儲方式歸納
商品圖片,用戶上傳的頭像,其他方面的圖片。目前業(yè)界存儲圖片有兩種做法: 1、 把圖片直接以二進制形式存儲在數(shù)據(jù)庫中 一般數(shù)據(jù)庫提供一個二進制字段來存儲二進制數(shù)據(jù)。比如mysql中有個blob字段。oracle數(shù)據(jù)庫中是blob或bfile類型 2、 圖片存儲在磁盤上,數(shù)據(jù)庫字段中保存的是圖片的路徑。 一、圖片以二進制形式直接存儲在數(shù)據(jù)庫中 第一種存儲實現(xiàn)(php語言...
繼續(xù)訪問
把圖片存入mysql數(shù)據(jù)庫
/* * 把圖片存入mysql數(shù)據(jù)庫 * # # 數(shù)據(jù)表的結(jié)構(gòu) `images` #CREATE TABLE images ( picid int(3) NOT NULL auto_increment, picdata longblob NOT NULL, pictext varchar(100) NOT NULL default , PRIMARY KEY (picid)) T
繼續(xù)訪問
怎么把圖片存入mysql
新建類型為mediumblob的字段【小圖片可以用blob,更大的圖片可以用LongBlob】
將圖片轉(zhuǎn)為base64格式的數(shù)據(jù),存到這個字段中
圖片插入到數(shù)據(jù)庫不是個好方法,如果你確實要存儲圖片到數(shù)據(jù)庫的話,修改你的sql語句,不可以直接插入的。
INSERT into person(p_id,p_name,p_sex,p_age) value("asdsadssdsadfff","addsdsa","dddd",113);
update person set p_image = LOAD_FILE('D:\incident1.jpg') where p_id = "asdsadssdsadfff";
建議把'D:\incident1.jpg'放在mysl的安裝目錄里面,避免權(quán)限問題。。。
解釋:sql必須要有對 'D:\incident1.jpg'文件 和相應(yīng)的路徑 讀權(quán)限,要不也不可以的。 另外檢查LOAD_FILE 函數(shù)是否被禁用。這個函數(shù)是個危險的函數(shù),很容易利用該函數(shù)對數(shù)據(jù)庫攻擊。
LOAD_FILE(file_name):
讀取file_name文件 并以字符串形式返回,使用這個函數(shù)時,file_name必須存在于服務(wù)器上,而且是完整路徑,sql要具有file_name的讀取權(quán)限,還有該文件的size必須小于數(shù)據(jù)庫 max_allowed_packet的值,否則讀取的值為空。如果文件不存在或者sql沒有讀權(quán)限,那么該函數(shù)講返回null