你可以把表的類型
成都創(chuàng)新互聯(lián)是專業(yè)的淶源網(wǎng)站建設(shè)公司,淶源接單;提供成都網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行淶源網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
設(shè)計 成為二進(jìn)制類型.
Binary 類型:
數(shù)據(jù)類型 描述
bit 允許 0、1 或 NULL
binary(n) 固定長度的二進(jìn)制數(shù)據(jù)。最多 8,000 字節(jié)。
varbinary(n) 可變長度的二進(jìn)制數(shù)據(jù)。最多 8,000 字節(jié)。
varbinary(max) 可變長度的二進(jìn)制數(shù)據(jù)。最多 2GB 字節(jié)。
image 可變長度的二進(jìn)制數(shù)據(jù)。最多 2GB。
不過我個人覺得,把圖片 ,存到數(shù)據(jù),會使數(shù)據(jù)庫的數(shù)據(jù),增長的很快.
不是很建議這樣做.
可以把圖片 存到服務(wù)器上的某個路徑 下..
sql sever中照片用image數(shù)據(jù)類型。
sql sever數(shù)據(jù)庫中的Image數(shù)據(jù)類型可以進(jìn)行數(shù)據(jù)圖片的存儲。保存的是二進(jìn)制字節(jié),所以寫入sql sever數(shù)據(jù)庫Image數(shù)據(jù)類型時,sql sever數(shù)據(jù)庫自動將圖片轉(zhuǎn)換成二進(jìn)制字節(jié)后存入。讀取的時候,將二進(jìn)制再轉(zhuǎn)換成圖片從sql sever數(shù)據(jù)庫中輸出顯示到頁面或者程序中。
擴(kuò)展資料:
如果SQL Server是缺省安裝時, IMAGE類型字段是有長度限制,用來存儲圖片大小不超過2g的圖片。缺點(diǎn)是占用了很大的數(shù)據(jù)存儲空間。但是對于之前的存儲物理路徑來說讀取圖片和存儲圖片方便了很多。
一般開發(fā)中,照片等二進(jìn)制的文件并不保存在數(shù)據(jù)庫中。而是保存在服務(wù)器的特定目錄中,然后在數(shù)據(jù)庫中記錄一下這個具體路徑和文件名。
1.將圖片以二進(jìn)制存入數(shù)據(jù)庫
//保存圖片到數(shù)據(jù)庫
protected void Button1_Click(object sender, EventArgs e)
{
//圖片路徑
string strPath = "~/photo/03.JPG";
string strPhotoPath = Server.MapPath(strPath);
//讀取圖片
FileStream fs = new System.IO.FileStream(strPhotoPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
//存入
SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");
string strComm = " INSERT INTO personPhoto(personName, personPhotoPath, personPhoto) ";
strComm += " VALUES('wangwu', '" + strPath + "', @photoBinary )";
SqlCommand myComm = new SqlCommand(strComm, myConn);
myComm.Parameters.Add("@photoBinary", SqlDbType.Binary,photo.Length);
myComm.Parameters["@photoBinary"].Value = photo;
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
}
2.讀取二進(jìn)制圖片在頁面顯示
//讀取圖片
SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");
string strComm = " SELECT personPhoto FROM personPhoto WHERE personName='wangwu' ";
SqlCommand myComm = new SqlCommand(strComm, myConn);
myConn.Open();
SqlDataReader dr = myComm.ExecuteReader();
while (dr.Read())
{
byte[] photo = (byte[])dr["personPhoto"];
this.Response.BinaryWrite(photo);
}
dr.Close();
myConn.Close();
或
SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");
SqlDataAdapter myda = new SqlDataAdapter(" SELECT personPhoto FROM personPhoto WHERE personName='11' ", myConn);
DataSet myds = new DataSet();
myConn.Open();
myda.Fill(myds);
myConn.Close();
byte[] photo = (byte[])myds.Tables[0].Rows[0]["personPhoto"];
this.Response.BinaryWrite(photo);
3.設(shè)置Image控件顯示從數(shù)據(jù)庫中讀出的二進(jìn)制圖片
---------------------------------------------
SqlConnection myConn = new SqlConnection("Data Source=192.168.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");
SqlDataAdapter myda = new SqlDataAdapter(" SELECT personPhoto FROM personPhoto WHERE personName='11' ", myConn);
DataSet myds = new DataSet();
myConn.Open();
myda.Fill(myds);
myConn.Close();
byte[] photo = (byte[])myds.Tables[0].Rows[0]["personPhoto"];
//圖片路徑
string strPath = "~/photo/wangwu.JPG";
string strPhotoPath = Server.MapPath(strPath);
//保存圖片文件
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));
bw.Write(photo);
bw.Close();
3.顯示圖片
this.Image1.ImageUrl = strPath;
4.GridView中ImageField以URL方式顯示圖片
--------------------------
asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
Columns
asp:BoundField DataField="personName" HeaderText="姓名" /
asp:ImageField DataImageUrlField="personPhotoPath"
HeaderText="圖片"
/asp:ImageField
/Columns
/asp:GridView
5.GridView顯示讀出的二進(jìn)制圖片
//樣板列
asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound"
Columns
asp:BoundField DataField="personName" HeaderText="姓名" /
asp:ImageField DataImageUrlField="personPhotoPath"
HeaderText="圖片"
/asp:ImageField
asp:TemplateField HeaderText="圖片"
ItemTemplate
asp:Image ID="Image1" runat="server" /
/ItemTemplate
/asp:TemplateField
/Columns
/asp:GridView
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex 0)
return;
// System.ComponentModel.Container
string strPersonName = (string)DataBinder.Eval(e.Row.DataItem, "personName");
Image tmp_Image = (Image)e.Row.Cells[2].FindControl("Image1");
if (!System.Convert.IsDBNull(DataBinder.Eval(e.Row.DataItem, "personPhoto")))
{
//
byte[] photo = (byte[])DataBinder.Eval(e.Row.DataItem, "personPhoto");
//圖片路徑
string strPath = "~/photo/" + strPersonName.Trim() + ".JPG";
string strPhotoPath = Server.MapPath(strPath);
//保存圖片文件
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath, FileMode.OpenOrCreate));
bw.Write(photo);
bw.Close();
//顯示圖片
tmp_Image.ImageUrl = strPath;
}
}
直接存,直接讀.要注意格式,就是類型,數(shù)據(jù)庫設(shè)計時,圖片字段類型是IMAGE程序中取時轉(zhuǎn)成IMAGE接收!
1、首先可以存儲圖片鏈接,設(shè)置圖片鏈接字段,如下圖所示。
2、接著直接將圖片的鏈接添加到SQL數(shù)據(jù)表的字段里即可,如下圖所示。
3、或者用二進(jìn)制存儲圖片字段,在SQL Server數(shù)據(jù)庫中先制作成image字段。
4、接著在后臺通過代碼形式,將圖片轉(zhuǎn)化為二進(jìn)制,如下圖所示。
5、得到二進(jìn)制數(shù)據(jù)后,則可通過sql語句插入到數(shù)據(jù)表中。
6、數(shù)據(jù)表即可存儲了圖片字段,將二進(jìn)制轉(zhuǎn)化為圖片。
分享名稱:sqlserver是圖片,sqlserver圖片字段
鏈接分享:http://m.rwnh.cn/article38/dscossp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化、軟件開發(fā)、面包屑導(dǎo)航、移動網(wǎng)站建設(shè)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)