ASP.NET 数据库中插入图片和读取图片
2010-06-15 07:30
676 查看
前提:
1. 安装有数据库,对对数据库有读写权限
本文分两部分:
1. 插入图片到数据库中
2. 从数据库中读取图片
一、插入图片到数据库中
1. 首先,设置<form>的属性enctype="multipart/form-data"
2. 添加两个控件到页面中,一个是输入类型为file,另一个是button
代码如下:
<form id="form1" enctype="multipart/form-data" runat="server">
<input id="PersonImage" type="file" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</form>
3.存储过程,用来创建一表个和要插入的键值
Drop Table Person
Go
Create Table Person
(
ID Int Identity,
PersonImage Image,
PersonImageType Varchar(255)
)
Drop Proc Images
Go
Create Proc Image
@PersonImage Image,
@PersonImageType Varchar(255)
As
Begin
Insert into Images
(PersonImage, PersonImageType)
Values
(@PersonImage, @PersonImageType)
End
4. 添加Button1的触发事件
protected void Button1_Click(object sender, EventArgs e)
{
string strImgType;
int iImgSize = 0;
Stream imgStream;
iImgSize = PersonImage.PostedFile.ContentLength;
strImgType = PersonImage.PostedFile.ContentType;
imgStream = PersonImage.PostedFile.InputStream;
Byte[] ImageContent = new Byte[iImgSize];
int intStatus;
intStatus = imgStream.Read(ImageContent, 0, iImgSize);
string ConnectionString = @"Server=myMachine/SQLEXPRESS;Database=Test;Trusted_Connection=Yes;";
SqlConnection myConnection = new SqlConnection(ConnectionString);
SqlCommand myCmd = new SqlCommand("InsertImages", myConnection);
myCmd.CommandType = CommandType.StoredProcedure;
SqlParameter prmPersonImage = new SqlParameter("@PersonImage", SqlDbType.Image);
prmPersonImage.Value = ImageContent;
myCmd.Parameters.Add(prmPersonImage);
SqlParameter prmPersonImageType = new SqlParameter("@PersonImageType", SqlDbType.VarChar, 255);
prmPersonImageType.Value = strImgType;
myCmd.Parameters.Add(prmPersonImageType);
try
{
myConnection.Open();
myCmd.ExecuteNonQuery();
myConnection.Close();
Response.Write("Image successfully added!");
}
catch (SqlException sqlExc)
{
Response.Write("Insert Failed. Error Details are: " + sqlExc.ToString());
}
}
运行并查看数据库中是否有增加一条记录
二、从数据库中读取图片
这个操作比较简单
protected void RetrieveImage()
{
string ConnectionString = @"Server=myMachine/SQLEXPRESS;Database=Test;Trusted_Connection=Yes;";
SqlConnection myConnection = new SqlConnection(ConnectionString);
string cmdText = "select * from Images";
SqlCommand myCmd = new SqlCommand(cmdText, myConnection);
myConnection.Open();
try
{
SqlDataReader sqlDataReader = myCmd.ExecuteReader();
while (sqlDataReader.Read())
{
Response.BinaryWrite((byte[])sqlDataReader["PersonImage"]);
}
sqlDataReader.Close();
}
catch (SqlException sqlExc)
{
Response.Write("Insert Failed. Error Details are: " + sqlExc.ToString());
}
myConnection.Close();
}
运行并查看数据库中的图片是否有显示
1. 安装有数据库,对对数据库有读写权限
本文分两部分:
1. 插入图片到数据库中
2. 从数据库中读取图片
一、插入图片到数据库中
1. 首先,设置<form>的属性enctype="multipart/form-data"
2. 添加两个控件到页面中,一个是输入类型为file,另一个是button
代码如下:
<form id="form1" enctype="multipart/form-data" runat="server">
<input id="PersonImage" type="file" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</form>
3.存储过程,用来创建一表个和要插入的键值
Drop Table Person
Go
Create Table Person
(
ID Int Identity,
PersonImage Image,
PersonImageType Varchar(255)
)
Drop Proc Images
Go
Create Proc Image
@PersonImage Image,
@PersonImageType Varchar(255)
As
Begin
Insert into Images
(PersonImage, PersonImageType)
Values
(@PersonImage, @PersonImageType)
End
4. 添加Button1的触发事件
protected void Button1_Click(object sender, EventArgs e)
{
string strImgType;
int iImgSize = 0;
Stream imgStream;
iImgSize = PersonImage.PostedFile.ContentLength;
strImgType = PersonImage.PostedFile.ContentType;
imgStream = PersonImage.PostedFile.InputStream;
Byte[] ImageContent = new Byte[iImgSize];
int intStatus;
intStatus = imgStream.Read(ImageContent, 0, iImgSize);
string ConnectionString = @"Server=myMachine/SQLEXPRESS;Database=Test;Trusted_Connection=Yes;";
SqlConnection myConnection = new SqlConnection(ConnectionString);
SqlCommand myCmd = new SqlCommand("InsertImages", myConnection);
myCmd.CommandType = CommandType.StoredProcedure;
SqlParameter prmPersonImage = new SqlParameter("@PersonImage", SqlDbType.Image);
prmPersonImage.Value = ImageContent;
myCmd.Parameters.Add(prmPersonImage);
SqlParameter prmPersonImageType = new SqlParameter("@PersonImageType", SqlDbType.VarChar, 255);
prmPersonImageType.Value = strImgType;
myCmd.Parameters.Add(prmPersonImageType);
try
{
myConnection.Open();
myCmd.ExecuteNonQuery();
myConnection.Close();
Response.Write("Image successfully added!");
}
catch (SqlException sqlExc)
{
Response.Write("Insert Failed. Error Details are: " + sqlExc.ToString());
}
}
运行并查看数据库中是否有增加一条记录
二、从数据库中读取图片
这个操作比较简单
protected void RetrieveImage()
{
string ConnectionString = @"Server=myMachine/SQLEXPRESS;Database=Test;Trusted_Connection=Yes;";
SqlConnection myConnection = new SqlConnection(ConnectionString);
string cmdText = "select * from Images";
SqlCommand myCmd = new SqlCommand(cmdText, myConnection);
myConnection.Open();
try
{
SqlDataReader sqlDataReader = myCmd.ExecuteReader();
while (sqlDataReader.Read())
{
Response.BinaryWrite((byte[])sqlDataReader["PersonImage"]);
}
sqlDataReader.Close();
}
catch (SqlException sqlExc)
{
Response.Write("Insert Failed. Error Details are: " + sqlExc.ToString());
}
myConnection.Close();
}
运行并查看数据库中的图片是否有显示
相关文章推荐
- ASP.net:上传图片以二进制插入到数据库,且读取显示
- 将图片插入数据库并使用asp.net读取出来的正确方法
- 将图片插入数据库并使用asp.net读取出来的正确方
- 将图片插入数据库并使用asp.net读取出来的正确方法
- 将图片插入数据库并使用asp.net读取出来的正确方法
- 将图片插入数据库并使用asp.net读取出来的正确方法
- ASP.NET实现从数据库中读取图片的方法
- Asp.net 中图片存储数据库以及页面读取显示通用方法详解
- Asp.net 2.0(C#)图片存储到数据库和从数据库读取显示
- asp.net 读取文本文件并插入数据库的实现代码
- Asp.net 中图片存储数据库以及页面读取显示通用方法详解-附源码下载
- asp.net 读取文本文件并插入数据库的实现代码
- asp.net对数据库中图片的上传与读取
- asp.net 读取Excel数据并将数据插入到数据库中
- Asp.net 2.0(C#)图片存储到数据库和从数据库读取显示
- 关于ASP.NET中图片上传到MSSQL数据库以及读取的方法
- ASP.NET中常用功能代码总结(上传图片到数据库,从数据库中读取图片)
- ASP.NET把图片存入数据库和使用文件流读取显示(转)
- asp.net图片在数据库的存放和读取
- asp.net(c#)从数据库里读取图片并显示到页面