<%@ 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> |