Insert image to DataBase:
<!-- Insert Images into Accessbase! -->
<%@ Page Language="vb" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.IO" %>
<HTML>
  <HEAD> 
    <title>Inserting Image to a SqlServer</title>
    <script runat=server>
   dim MyConnection as OleDbConnection       Public Sub AddPerson(sender As Object, e As EventArgs)
              Dim intImageSize As Int64
              Dim strImageType As String
              Dim ImageStream As Stream
            ' Gets the Size of the Image
              intImageSize = PersonImage.PostedFile.ContentLength
            ' Gets the Image Type
              strImageType = PersonImage.PostedFile.ContentType
            ' Reads the Image
              ImageStream = PersonImage.PostedFile.InputStream              Dim ImageContent(intImageSize) As Byte
              Dim intStatus As Integer              intStatus = ImageStream.Read(ImageContent, 0, intImageSize)              MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\inetpub\wwwroot\datagrid\web_article\testcodes\kk.mdb")              Dim myCommand As New OleDbCommand("INSERT INTO [imgs] (img,name) values (@PersonImage,@PersonName) ", myConnection)            ' Add Parameters to SPROC
      
         MyCommand.parameters.add("@PersonImage",ImageContent)
             MyCommand.parameters.add("@PersonName",txtName.text)              Try 
                  myConnection.Open()
                  myCommand.ExecuteNonQuery()
                  myConnection.Close()
                  Response.Write("<FONT COLOR=#CC0000>New person successfully added!</FONT><BR>")
              Catch SQLexc As OleDbException
                  Response.Write("Insert Failed. Error Details are: " & SQLexc.ToString())
              End Try
  txtname.text=""
           End Sub    
  </script>
 </HEAD>
<A HREF="retrieveimgbydatagrid.aspx"><B>Retrieve Img From DataBase</B></A><BR>
<A HREF="retrieveimgbydatagrid_table.aspx"><B>Retrieve Img From DataBase By Table</B></A><BR>
  <body style="font: 10pt verdana">
  <form enctype="multipart/form-data" runat="server">
     Name:<asp:Textbox id="txtname" runat="server"/><BR>
     Picture:<input type="file" id="PersonImage" runat=server /><BR>
     <asp:Button Text="Add Person" OnClick="AddPerson" Runat=server />
    </form>
  </body>
</HTML>
-----------------------------------
Retrieve image form DataBase:
<%@ Page Language="vb" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<HTML>
  <HEAD>
    <title>Retrieving Image from the Sql Server</title>
    <script runat=server>
   dim MyConnection as OleDbConnection       Public Sub Page_Load(sender As Object, e As EventArgs)
        'Create Instance of Connection and Command Object
        MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\inetpub\wwwroot\datagrid\web_article\testcodes\kk.mdb")        Dim myCommand As New OleDbCommand("SELECT * FROM [imgs] WHERE ID=1", myConnection)
          Try
              myConnection.Open()
              Dim myDataReader as OleDbDataReader 
              myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
             Do While (myDataReader.Read())
                 'Response.Write (myDataReader.Item("id"))
                 Response.BinaryWrite (myDataReader.Item("Img"))
             Loop
              myConnection.Close()
              Response.Write("Person info successfully retrieved!")
            Catch SQLexc As OleDbException
              Response.Write("Read Failed : " & SQLexc.ToString())
            End Try
         End Sub    
  </script>
  </HEAD>
  <body style="font: 10pt verdana">
  <asp:Label id="ShowName" runat="server"/>
  </body>
</HTML>

解决方案 »

  1.   

    按照第一个例子做时出错:
    提示:
    Insert Failed. Error Details are: System.Data.OleDb.OleDbException: 不能使用 '';文件已在使用中。 at System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) at System.Data.OleDb.OleDbConnection.InitializeProvider() at System.Data.OleDb.OleDbConnection.Open() at ASP.saveImage_Access_aspx.AddPerson(Object sender, EventArgs e) in F:\ShiTong_Site\Test\未成\saveImage_Access.aspx:line 39 Retrieve Img From DataBase
    Retrieve Img From DataBase By Table