㈠ sql資料庫什麼數據類型可以存儲圖片又能存儲文本
好像沒有吧?存儲圖片的用的是image類型,而文本則用的是ntext或text。(我也不太確定,因為沒有用過,但應該不會錯,希望對你有用)
㈡ SQL資料庫中能存照片嗎
數據中可以存儲圖片,但是需要注意不能直接存儲圖片,而是轉換成二進制或者Base64等的「文本」來存儲,在用的時候,可以再轉換回來。
在網站開發中,一般將圖片存儲在文件系統中,而不是數據系統中,資料庫系統中只記錄圖片在文件系統中的路徑而已。
SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出「做什麼」的命令,「怎麼做」是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了資料庫操作的基礎,並且現在幾乎所有的資料庫均支持SQL。
網路_SQL資料庫
㈢ SQL中,存儲圖片用哪種類型
image 可以
'存儲圖片
Private Sub AddImage2Db(Byval PFname as String)
Dim st As ADODB.Stream
Set st = New ADODB.Stream
st.Type = adTypeBinary
st.Open
st.LoadFromFile (PFname)
rsEmp!photoPath = PFname
rsEmp.Fields("Photo").Value = st.Read
rsEmp.Update
Set st = Nothing
End Sub
'顯示圖片
Private Sub ReadImageFromDb()
Dim st As ADODB.Stream, TempFile as string
TempFile = "C:\tmp"
If Dir(TempFile) <> "" Then
Kill (TempFile)
End If
Set st = New ADODB.Stream
st.Type = adTypeBinary
st.Open
st.Write Fld.Value
st.SaveToFile (TempFile)
Image1.Picture = LoadPicture(TempFile)
Kill (TempFile)
Set st = Nothing
End Sub
㈣ SQL怎麼樣存儲照片,用什麼類型
是image類型
sqlcom.Parameters.Add("@photo", SqlDbType.Image, photo.Length).Value = photo;
存儲照片可以有好多種方法
方法一:把圖片轉換為二進制進行存儲
方法二:把圖片的圖片的位置信息存儲到資料庫
............
參考代碼:
public static byte[] GetPhoto(string filePath)
{
FileStream stream = new FileStream( filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] photoqq = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
return photoqq;
}
㈤ sql server 中 哪個欄位類型可以儲存圖象
可以將圖片上傳到指定目錄並將路徑記錄在資料庫中,要用的時候再從資料庫中取路徑根據路徑找到圖片。
也可以直接存在資料庫中。SqlServer中用Image列來保存圖片
兩者各有千秋,從性能上考慮應用第一種,從安全上考慮應用第二種
以下為存在資料庫中的例子:來源於網路
首先在SQL Server中建立一個圖片存儲的數庫表,ImageData Column為圖象二進制數據儲存欄位,ImageContentType Column為圖象文件類型記錄欄位,ImageDescription Column為儲蓄圖象文件說明欄位,ImageSize Column為儲存圖象文件長度欄位,結構如下:
CREATE TABLE [dbo].[ImageStore] (
[ImageID] [int] IDENTITY (1, 1) NOT NULL ,
[ImageData] [image] NULL ,
[ImageContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[ImageDescription] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[ImageSize] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
*/
//UpLoadImage.aspx程序內容如下:
<%@ Page Inherits="UploadImage.UploadImage" SRC="UpLoadImage.cs" Language="C#"%>
<HTML><title>上傳圖片</title>
<BODY bgcolor="#FFFFFF">
<FORM ENCTYPE="multipart/form-data" RUNAT="server" ID="Form1">
<TABLE RUNAT="server" WIDTH="700" ALIGN="left" ID="Table1" cellpadding="0" cellspacing="0" border="0">
<TR>
<TD>上傳圖片(選擇你要上傳的圖片)</TD>
<TD>
<INPUT TYPE="file" ID="UP_FILE" RUNAT="server" STYLE="Width:320" ACCEPT="text/*" NAME="UP_FILE">
</TD>
</TR>
<TR>
<TD>
文件說明(添加上傳圖片說明,如:作者、出處)
</TD>
<TD>
<asp:TextBox RUNAT="server" WIDTH="239" ID="txtDescription" MAINTAINSTATE="false" />
</TD>
</TR>
<TR>
<TD>
<asp:Label RUNAT="server" ID="txtMessage" FORECOLOR="red" MAINTAINSTATE="false" />
</TD>
<TD>
<asp:Button RUNAT="server" WIDTH="239" ONCLICK="Button_Submit" TEXT="Upload Image" />
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
//-------------------------------------------------------------------
//UpLoadImage.cs程序內容如下:
using System;
using System.Web;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace UploadImage
{
public class UploadImage : Page {
protected HtmlInputFile UP_FILE; //HtmlControl、WebControls控制項對象
protected TextBox txtDescription;
protected Label txtMessage;
protected Int32 FileLength = 0; //記錄文件長度變數
protected void Button_Submit(System.Object sender, System.EventArgs e) {
HttpPostedFile UpFile = UP_FILE.PostedFile; //HttpPostedFile對象,用於讀取圖象文件屬性
FileLength = UpFile.ContentLength; //記錄文件長度
try {
if (FileLength == 0) { //文件長度為零時
txtMessage.Text = "<b>請你選擇你要上傳的文件</b>";
} else {
Byte[] FileByteArray = new Byte[FileLength]; //圖象文件臨時儲存Byte數組
Stream StreamObject = UpFile.InputStream; //建立數據流對像
//讀取圖象文件數據,FileByteArray為數據儲存體,0為數據指針位置、FileLnegth為數據長度
StreamObject.Read(FileByteArray,0,FileLength);
//建立SQL Server鏈接
SqlConnection Con = new SqlConnection("Data Source=Localhost;Initial Catalog=testdb;User ID=sa;Pwd=;");
String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@Image, @ContentType, @ImageDescription, @ImageSize)";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).Value = FileByteArray;
CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = UpFile.ContentType; //記錄文件類型
//把其它單表數據記錄上傳
CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).Value = txtDescription.Text;
//記錄文件長度,讀取時使用
CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).Value = UpFile.ContentLength;
Con.Open();
CmdObj.ExecuteNonQuery();
Con.Close();
txtMessage.Text = "<p><b>OK!你已經成功上傳你的圖片</b>";//提示上傳成功
}
} catch (Exception ex) {
txtMessage.Text = ex.Message.ToString();
}}}}
//----------------------------------------------------------------------
//好了,圖片已經上傳到資料庫,現在還要干什麼呢?當然是在資料庫中讀取及顯示在Web頁中啦,請看以下程序:
//ReadImage.aspx程序內容如下:
/-----------------------------------------------------------------------
<%@ Page Inherits="ReadImage.MainDisplay" SRC="ReadImage.cs"%>
//----------------------------------------------------------------------
//ReadImage.cs程序內容如下:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace ReadImage {
public class MainDisplay : System.Web.UI.Page {
public void Page_Load(System.Object sender, System.EventArgs e) {
int ImgID = Convert.ToInt32(Request.QueryString["ImgID"]); //ImgID為圖片ID
//建立資料庫鏈接
SqlConnection Con = new SqlConnection("Data Source=KING;Initial Catalog=testdb;User ID=sa;Pwd=;");
String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID;
Con.Open();
SqlDataReader SqlReader = CmdObj.ExecuteReader();
SqlReader.Read();
Response.ContentType = (string)SqlReader["ImageContentType"];//設定輸出文件類型
//輸出圖象文件二進制數制
Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]);
Response.End();
Con.Close();
//很簡單吧^_^
}
}
}
//--------------------------------------------------------------------
//最後,我們當然要把它在Web頁面顯示出來啦
//ShowImage.hml
<html>
<body>
這個是從資料庫讀取出來的圖象:<img src="ReadImage.aspx?ImgID=1">
<body>
</html>
//------------------------------------------------------------------
㈥ 在資料庫中可用來存儲圖片的欄位對象是那種類型的欄位
圖片存儲到資料庫的方式一般分類兩種,一是直接圖片文件存儲到資料庫,二是將圖片存儲磁碟,資料庫中存儲其物理路徑
一、 把圖片直接以二進制形式存儲在資料庫中
一般資料庫提供一個二進制欄位來存儲二進制數據。比如SQL Server中的BINARY,VARBINARY;
1、BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。
2、VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。
一般情況下,由於BINARY 數據類型長度固定,因此它比VARBINARY 類型的處理速度快
另,MySQL中有個blob欄位。Oracle資料庫中是blob或bfile類型
2、 圖片存儲在磁碟上,資料庫欄位中保存的是圖片的路徑
存儲路徑存儲路徑字元串即可,sql中可以使用varchar/nvarchar;mysql可以使用varchar
總結:將圖片文件直接以二進制存儲資料庫需要將圖片提前轉為二進制數據,以存儲圖片物理路徑的方式需要將圖片文件放置指定位置,這都需要配合不同的編程語言實現;
㈦ 在資料庫中可用來存儲圖片的欄位對象是哪種類型的欄位
一、 把圖片直接以二進制形式存儲在資料庫中
一般資料庫提供一個二進制欄位來存儲二進制數據。比如SQL Server中的BINARY,VARBINARY;
1、BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。
在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。
2、VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。
不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。
一般情況下,由於BINARY 數據類型長度固定,因此它比VARBINARY 類型的處理速度快
另,MySQL中有個blob欄位。Oracle資料庫中是blob或bfile類型
㈧ 在sql server中,儲存圖片的數據類型是什麼呀
在SQL中儲存流類型的可以用OLE,但是這大大影響速度,建議,用字元型存地址,到時候頁面調用的時候根據這個地址再去伺服器上找圖片。這樣即使你是其他網頁上引用過來的圖片一樣可以調用,而存進資料庫費時費力還影響效率
㈨ sql sever中照片用什麼數據類型
sql sever中照片用image數據類型。
sql sever資料庫中的Image數據類型可以進行數據圖片的存儲。保存的是二進制位元組,所以寫入sql sever資料庫Image數據類型時,sql sever資料庫自動將圖片轉換成二進制位元組後存入。讀取的時候,將二進制再轉換成圖片從sql sever資料庫中輸出顯示到頁面或者程序中。
(9)sql資料庫哪個類型可以存儲圖片擴展閱讀:
如果SQL Server是預設安裝時, IMAGE類型欄位是有長度限制,用來存儲圖片大小不超過2g的圖片。缺點是佔用了很大的數據存儲空間。但是對於之前的存儲物理路徑來說讀取圖片和存儲圖片方便了很多。
一般開發中,照片等二進制的文件並不保存在資料庫中。而是保存在伺服器的特定目錄中,然後在資料庫中記錄一下這個具體路徑和文件名。
㈩ sql2005資料庫中哪種數據類型可以存儲圖片和表格
回答時間:2011-10-23 0:00:34 image 是圖片格式的而你的C:\Users\angle\Pictures\Pictures\2.jpg是個圖片路徑存儲圖片的時候 一般只存儲圖片路徑 就可以 這樣資料庫就比較輕便你的方式是存儲圖片的二進制流 存的話資料庫會很大