数据库怎么存图片,SQL数据库中能存照片吗(sql数据库怎么存图片)
大家好,今天小编来为大家解答以下的问题,关于数据库怎么存图片,SQL数据库中能存照片吗(sql数据库怎么存图片)这个很多人还不知道,现在让我们一起来看看吧!
sql server 中的image数据类型。怎么存储8张图片
sql server中的image数据类型可以进行数据图片的存储,其中存储8张图片的方法为:
1、首先展开可编程性下面的用户定义数据类型是空的。
2、接着选择数据库,点击顶部的新建查询按钮。
3、然后直接用sp_addtype语句进行数据类型的定义。
4、接下来刷新用户自定义数据类型,这次就有数据了。
5、接着右键数据表选择设计选项。
6、最后就可以在数据类型里面找到自定义的数据类型了。
注意事项:
SQL Server将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。
怎么在sql数据库中存放图片
SQL2000用
方法:
1、建立过程
CREATE PROCEDURE sp_textcopy(
@srvname varchar(30),
@login varchar(30),
@password varchar(30),
@dbname varchar(30),
@tbname varchar(30),
@colname varchar(30),
@filename varchar(30),
@whereclause varchar(40),
@direction char(1))
AS
DECLARE@exec_str varchar(255)
SELECT@exec_str=
'textcopy/S'+@srvname+
'/U'+@login+
'/P'+@password+
'/D'+@dbname+
'/T'+@tbname+
'/C'+@colname+
'/W"'+@whereclause+
'"/F'+@filename+
'/'+@direction
EXEC master..xp_cmdshell@exec_str
2、建表和初始化数据
create table表名(编号 int,image列名 image)
go
insert表名 values(1,0x)--必须的,且不是null
insert表名 values(2,0x)--必须的,且不是null
go
3、读入
sp_textcopy'你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where编号=1','I'--注意条件是编号=1
sp_textcopy'你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where编号=2','I'--注意条件是编号=2
go
4、读出成文件
sp_textcopy'你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where编号=1','O'--注意条件是编号=1
sp_textcopy'你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where编号=2','O'--注意条件是编号=2
go
************如果报textcopy不是可执行文件的话,你就到
C:\Program Files\Microsoft SQL Server\MSSQL\Binn
目录下拷备 textcopy.exe到:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
SQL2005直接用
INSERT INTO myTable(FileName, FileType, Photo)
SELECT'Roy1.jpg' AS FileName,
'.JPG' AS FileType,
* FROM OPENROWSET(BULK N'C:\Roy1.jpg', SINGLE_BLOB) AS Document
图片如何存入数据库
通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存图片的上传路径到数据库:
string uppath="";//用于保存图片上传路径
//获取上传图片的文件名
string fileFullname= this.FileUpload1.FileName;
//获取图片上传的时间,以时间作为图片的名字可以防止图片重名
string dataName= DateTime.Now.ToString("yyyyMMddhhmmss");
//获取图片的文件名(不含扩展名)
string fileName= fileFullname.Substring(fileFullname.LastIndexOf("\\")+ 1);
//获取图片扩展名
string type= fileFullname.Substring(fileFullname.LastIndexOf(".")+ 1);
//判断是否为要求的格式
if(type=="bmp"|| type=="jpg"|| type=="jpeg"|| type=="gif"|| type=="JPG"|| type=="JPEG"|| type=="BMP"|| type=="GIF")
{
//将图片上传到指定路径的文件夹
this.FileUpload1.SaveAs(Server.MapPath("~/upload")+"\\"+ dataName+"."+ type);
//将路径保存到变量,将该变量的值保存到数据库相应字段即可
uppath="~/upload/"+ dataName+"."+ type;
}
二、将图片以二进制数据流直接保存到数据库:
引用如下命名空间:
using System.Drawing;
using System.IO;
using System.Data.SqlClient;
设计数据库时,表中相应的字段类型为iamge
保存:
//图片路径
string strPath= this.FileUpload1.PostedFile.FileName.ToString();
//读取图片
FileStream fs= new System.IO.FileStream(strPath, 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=.;Initial Catalog=stumanage;User ID=sa;Password=123");
string strComm=" INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary)";//操作数据库语句根据需要修改
SqlCommand myComm= new SqlCommand(strComm, myConn);
myComm.Parameters.Add("@photoBinary", SqlDbType.Binary, photo.Length);
myComm.Parameters["@photoBinary"].Value= photo;
myConn.Open();
if(myComm.ExecuteNonQuery()> 0)
{
this.Label1.Text="ok";
}
myConn.Close();
读取:
...连接数据库字符串省略
mycon.Open();
SqlCommand command= new
SqlCommand("select stuimage from stuInfo where stuid=107", mycon);//查询语句根据需要修改
byte[] image=(byte[])command.ExecuteScalar();
//指定从数据库读取出来的图片的保存路径及名字
string strPath="~/Upload/zhangsan.JPG";
string strPhotoPath= Server.MapPath(strPath);
//按上面的路径与名字保存图片文件
BinaryWriter bw= new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));
bw.Write(image);
bw.Close();
//显示图片
this.Image1.ImageUrl= strPath;
采用俩种方式可以根据实际需求灵活选择。
SQL数据库中能存照片吗(sql数据库怎么存图片)
数据中可以存储图片,但是需要注意不能直接存储图片,而是转换成二进制或者Base64等的“文本”来存储,在用的时候,可以再转换回来。
在网站开发中,一般将图片存储在文件系统中,而不是数据系统中,数据库系统中只记录图片在文件系统中的路径而已。
拓展资料:SQL是StructuredQueryLanguage(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!