<%
@ Page Language
=
"
C#
"
EnableViewState
=
"
true
"
%>
<% @ Import Namespace = " System.Data.OleDb " %>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< script runat = " server " >
protected void Button1_Click( object sender, EventArgs e )
{
System.IO.Stream fileDataStream = FileUpload1.PostedFile.InputStream;
if (fileDataStream.Length < 1 )
{
Msg.Text = " 请选择文件。 " ;
return ;
}
// 得到文件大小
int fileLength = FileUpload1.PostedFile.ContentLength;
// 创建数组
byte [] fileData = new byte [fileLength];
// 把文件流填充到数组
fileDataStream.Read(fileData, 0 , fileLength);
// 得到文件类型
string fileType = FileUpload1.PostedFile.ContentType;
// 构建数据库连接,SQL语句,创建参数
string strCnn = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Server.MapPath( " Image2Access.mdb " );
OleDbConnection myConnection = new OleDbConnection(strCnn);
OleDbCommand command = new OleDbCommand( " INSERT INTO Person (PersonName,PersonEmail,PersonSex,PersonImageType,PersonImage) " +
" VALUES (@PersonName,@PersonEmail,@PersonSex,@PersonImageType,@PersonImage) " , myConnection);
command.Parameters.AddWithValue( " @PersonName " ,TextBox1.Text);
command.Parameters.AddWithValue( " @PersonEmail " , " mengxianhui@dotnet.aspx.cc " );
command.Parameters.AddWithValue( " @paramPersonSex " , " 男 " );
command.Parameters.AddWithValue( " @PersonImageType " , fileType);
command.Parameters.AddWithValue( " @PersonImage " , fileData);
// 打开连接,执行查询
myConnection.Open();
command.ExecuteNonQuery();
myConnection.Close();
Response.Redirect(Request.RawUrl);
}
protected void Page_Load( object sender, EventArgs e )
{
if ( ! Page.IsPostBack)
{
BindGrid();
}
}
private void BindGrid( )
{
string strCnn = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "
+ Server.MapPath( " Image2Access.mdb " );
OleDbConnection myConnection = new OleDbConnection(strCnn);
OleDbCommand myCommand = new OleDbCommand( " SELECT * FROM Person " , myConnection);
try
{
myConnection.Open();
GridView1.DataSource = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
GridView1.DataBind();
}
catch (OleDbException SQLexc)
{
Response.Write( " 提取数据时出现错误: " + SQLexc.ToString());
}
}
protected string FormatURL( object strArgument )
{
return " ReadImage.aspx?id= " + strArgument.ToString();
}
</ script >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title > 上传文件到数据库 </ title >
</ head >
< body >
< form id = " MengXianhui " runat = " server " >
< asp:GridView ID = " GridView1 " runat = " server " AutoGenerateColumns = " false " >
< Columns >
< asp:TemplateField >
< ItemTemplate >
<% #Eval( " PersonName " ) %>
</ ItemTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemTemplate >
<% #Eval( " PersonEmail " ) %>
</ ItemTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemTemplate >
<% #Eval( " PersonSex " ) %>
</ ItemTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemTemplate >
< img src = " <%#FormatURL(Eval( " PersonID " )) %> " /></ ItemTemplate >
</ asp:TemplateField >
</ Columns >
</ asp:GridView >
< br />
< br />
姓名: < asp:TextBox ID = " TextBox1 " runat = " server " ></ asp:TextBox >
< br />
照片: < asp:FileUpload ID = " FileUpload1 " runat = " server " />
< asp:Button ID = " btnUpload " runat = " server " Text = " 上传 " OnClick = " Button1_Click " ></ asp:Button >
< p >
< asp:Label ID = " Msg " runat = " server " ForeColor = " Red " ></ asp:Label ></ p >
</ form >
</ body >
</ html >
<% @ Import Namespace = " System.Data.OleDb " %>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< script runat = " server " >
protected void Button1_Click( object sender, EventArgs e )
{
System.IO.Stream fileDataStream = FileUpload1.PostedFile.InputStream;
if (fileDataStream.Length < 1 )
{
Msg.Text = " 请选择文件。 " ;
return ;
}
// 得到文件大小
int fileLength = FileUpload1.PostedFile.ContentLength;
// 创建数组
byte [] fileData = new byte [fileLength];
// 把文件流填充到数组
fileDataStream.Read(fileData, 0 , fileLength);
// 得到文件类型
string fileType = FileUpload1.PostedFile.ContentType;
// 构建数据库连接,SQL语句,创建参数
string strCnn = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Server.MapPath( " Image2Access.mdb " );
OleDbConnection myConnection = new OleDbConnection(strCnn);
OleDbCommand command = new OleDbCommand( " INSERT INTO Person (PersonName,PersonEmail,PersonSex,PersonImageType,PersonImage) " +
" VALUES (@PersonName,@PersonEmail,@PersonSex,@PersonImageType,@PersonImage) " , myConnection);
command.Parameters.AddWithValue( " @PersonName " ,TextBox1.Text);
command.Parameters.AddWithValue( " @PersonEmail " , " mengxianhui@dotnet.aspx.cc " );
command.Parameters.AddWithValue( " @paramPersonSex " , " 男 " );
command.Parameters.AddWithValue( " @PersonImageType " , fileType);
command.Parameters.AddWithValue( " @PersonImage " , fileData);
// 打开连接,执行查询
myConnection.Open();
command.ExecuteNonQuery();
myConnection.Close();
Response.Redirect(Request.RawUrl);
}
protected void Page_Load( object sender, EventArgs e )
{
if ( ! Page.IsPostBack)
{
BindGrid();
}
}
private void BindGrid( )
{
string strCnn = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "
+ Server.MapPath( " Image2Access.mdb " );
OleDbConnection myConnection = new OleDbConnection(strCnn);
OleDbCommand myCommand = new OleDbCommand( " SELECT * FROM Person " , myConnection);
try
{
myConnection.Open();
GridView1.DataSource = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
GridView1.DataBind();
}
catch (OleDbException SQLexc)
{
Response.Write( " 提取数据时出现错误: " + SQLexc.ToString());
}
}
protected string FormatURL( object strArgument )
{
return " ReadImage.aspx?id= " + strArgument.ToString();
}
</ script >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title > 上传文件到数据库 </ title >
</ head >
< body >
< form id = " MengXianhui " runat = " server " >
< asp:GridView ID = " GridView1 " runat = " server " AutoGenerateColumns = " false " >
< Columns >
< asp:TemplateField >
< ItemTemplate >
<% #Eval( " PersonName " ) %>
</ ItemTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemTemplate >
<% #Eval( " PersonEmail " ) %>
</ ItemTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemTemplate >
<% #Eval( " PersonSex " ) %>
</ ItemTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemTemplate >
< img src = " <%#FormatURL(Eval( " PersonID " )) %> " /></ ItemTemplate >
</ asp:TemplateField >
</ Columns >
</ asp:GridView >
< br />
< br />
姓名: < asp:TextBox ID = " TextBox1 " runat = " server " ></ asp:TextBox >
< br />
照片: < asp:FileUpload ID = " FileUpload1 " runat = " server " />
< asp:Button ID = " btnUpload " runat = " server " Text = " 上传 " OnClick = " Button1_Click " ></ asp:Button >
< p >
< asp:Label ID = " Msg " runat = " server " ForeColor = " Red " ></ asp:Label ></ p >
</ form >
</ body >
</ html >
显示图片
<%
@ Page Language
=
"
C#
"
%>
<% @ Import Namespace = " System.Data.OleDb " %>
<% @ Import Namespace = " System.Data.SqlClient " %>
< script runat = " server " >
protected void Page_Load( object sender, EventArgs e )
{
/// /构建数据库连接,SQL语句,创建参数
// ACCESS数据库使用本注释部分
// string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");
// OleDbConnection myConnection = new OleDbConnection(strCnn);
// OleDbCommand command = new OleDbCommand("select * from Person Where PersonID =" + Request.QueryString["id"], myConnection);
// myConnection.Open();
// OleDbDataReader dr = command.ExecuteReader();
// if (dr.Read())
// {
// Response.Clear();
// Response.AddHeader("Content-Type", dr["PersonImageType"].ToString());
// Response.BinaryWrite((byte[])dr["PersonImage"]);
// }
// dr.Close();
// myConnection.Dispose();
// 构建数据库连接,SQL语句,创建参数
string strCnn = " Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local); " ;
SqlConnection myConnection = new SqlConnection(strCnn);
SqlCommand command = new SqlCommand( " select * from UserPhoto Where id = " + Request.QueryString[ " id " ], myConnection);
myConnection.Open();
SqlDataReader dr = command.ExecuteReader();
if (dr.Read())
{
Response.Clear();
Response.AddHeader( " Content-Type " , dr[ " ContentType " ].ToString());
Response.BinaryWrite(( byte [])dr[ " Photo " ]);
}
dr.Close();
myConnection.Dispose();
}
</ script >
<% @ Import Namespace = " System.Data.OleDb " %>
<% @ Import Namespace = " System.Data.SqlClient " %>
< script runat = " server " >
protected void Page_Load( object sender, EventArgs e )
{
/// /构建数据库连接,SQL语句,创建参数
// ACCESS数据库使用本注释部分
// string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");
// OleDbConnection myConnection = new OleDbConnection(strCnn);
// OleDbCommand command = new OleDbCommand("select * from Person Where PersonID =" + Request.QueryString["id"], myConnection);
// myConnection.Open();
// OleDbDataReader dr = command.ExecuteReader();
// if (dr.Read())
// {
// Response.Clear();
// Response.AddHeader("Content-Type", dr["PersonImageType"].ToString());
// Response.BinaryWrite((byte[])dr["PersonImage"]);
// }
// dr.Close();
// myConnection.Dispose();
// 构建数据库连接,SQL语句,创建参数
string strCnn = " Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local); " ;
SqlConnection myConnection = new SqlConnection(strCnn);
SqlCommand command = new SqlCommand( " select * from UserPhoto Where id = " + Request.QueryString[ " id " ], myConnection);
myConnection.Open();
SqlDataReader dr = command.ExecuteReader();
if (dr.Read())
{
Response.Clear();
Response.AddHeader( " Content-Type " , dr[ " ContentType " ].ToString());
Response.BinaryWrite(( byte [])dr[ " Photo " ]);
}
dr.Close();
myConnection.Dispose();
}
</ script >
创建SQL数据表语句
CREATE TABLE [UserPhoto] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[UserName] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Photo] [image] NOT NULL ,
CONSTRAINT [PK_UserPhoto] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO