⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagesdialogvb.aspx.vb

📁 Telerik是很大的第三方软件制造商
💻 VB
📖 第 1 页 / 共 2 页
字号:

Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Data.OleDb
Imports System.Drawing
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.IO


Namespace Telerik.EditorExamplesVBNET.Editor.Examples.DBImages
    '/ <summary>
    '/ The dialog containing the upload form, search form, and the images grid.
    '/ </summary>

    Public Class ImagesDialog
        Inherits System.Web.UI.Page
#Region "Private members"
        Private sortedBy, sortedOrder As String
#End Region

#Region "Child controls"
        Protected WithEvents btnUpload As Button
        Protected WithEvents gridCurrentImages As DataGrid
        Protected ltMessage As Literal
        Protected htmlRowMessage As HtmlTableRow
        Protected txtSearchCriteria As System.Web.UI.WebControls.TextBox
        Protected WithEvents btnSearch As System.Web.UI.WebControls.Button
        Protected htmlIFImage As HtmlInputFile

#End Region

#Region "Database related methods"

        '/ <summary>
        '/ Reads all the data to be displayed in the datagrid
        '/ </summary>
        '/ <returns></returns>
        Private Overloads Function GetCurrentImagesFromDB() As DataTable
            Return GetCurrentImagesFromDB(Nothing)
        End Function 'GetCurrentImagesFromDB


        '/ <summary>
        '/ Reads the data to be displayed in the datagrid by specified search criteria
        '/ </summary>
        '/ <returns></returns>
        Private Overloads Function GetCurrentImagesFromDB(ByVal Criteria As String) As DataTable
            Dim conn As New OleDbConnection(DefaultVB.ConnectionString)
            conn.Open()

            Dim command As New OleDbCommand("SELECT FileName, TimeAdded, TimeLastModified FROM Images WHERE (FileName LIKE '%' + @Criteria + '%') OR (@Criteria = '')", conn)
            If Criteria Is Nothing Then
                Criteria = ""
            End If
            command.Parameters.Add(New OleDbParameter("@Criteria", Criteria))

            Dim adapter As New OleDbDataAdapter(command)

            Dim toReturn As New DataTable
            Try
                adapter.Fill(toReturn)
            Catch ex As OleDbException
                Response.Write(("An error occured during the Database request. MS Jet Engine Server answered: " + ex.Message))
            Finally
                conn.Close()
            End Try
            Return toReturn
        End Function 'GetCurrentImagesFromDB


        '/ <summary>
        '/ Saves the information for a newly uploaded image file to the database
        '/ that includes:
        '/ FileName, Image, Thumbnail, Time first uploaded, Time last modified
        '/ The last two attributes are being set by the stored procedure
        '/ </summary>
        '/ <param name="image"></param>
        '/ <param name="FileName"></param>
        '/ <returns></returns>
        Private Function SaveImageToDb(ByVal image As System.Drawing.Image, ByVal FileName As String) As Boolean
            Dim conn As New OleDbConnection(DefaultVB.ConnectionString)
            conn.Open()
            'First, delete if there is such an image:
            Dim command As New OleDbCommand("Select COUNT(FileName) FROM Images WHERE FileName = ?", conn)
            Dim paramFileName As New OleDbParameter("@FileName", FileName)

            command.CommandType = CommandType.Text

            'Assign the parameters to the command
            command.Parameters.Add(paramFileName)
            Dim success As Boolean = True

            Dim filesCount As Object = Nothing
            Try
                filesCount = command.ExecuteScalar()
            Catch
                success = False
            Finally
                conn.Close()
            End Try

            If Not (filesCount Is Nothing) Then
                Dim paramThumbnail As New OleDbParameter("@Thumbnail", GetByteArray(GetThumbnail(image)))
                Dim paramFullImage As New OleDbParameter("@FullImage", GetByteArray(image))

                command.Parameters.Clear()
                command.Parameters.Add(paramThumbnail)
                command.Parameters.Add(paramFullImage)
                command.Parameters.Add(paramFileName)
                command.Parameters(0).OleDbType = OleDbType.Binary
                command.Parameters(1).OleDbType = OleDbType.Binary

                If CInt(filesCount) > 0 Then
                    command.CommandText = "UPDATE Images SET Thumbnail = ?, FullImage = ?, TimeLastModified = NOW() WHERE FileName = ?"
                Else
                    command.CommandText = "INSERT INTO Images (Thumbnail, FullImage, FileName, TimeAdded, TimeLastModified) VALUES ( ?, ?, ?, NOW(), NOW())"
                End If

                conn.Open()
                Try
                    command.ExecuteNonQuery()
                Catch
                    success = False
                Finally
                    conn.Close()
                End Try
            Else
                success = False
            End If

            Return success
        End Function 'SaveImageToDb


        '/ <summary>
        '/ Deletes the information of a file with a given filename
        '/ </summary>
        '/ <param name="FileName"></param>
        '/ <returns></returns>
        Private Function DeleteImage(ByVal FileName As String) As Boolean
            Dim conn As New OleDbConnection(DefaultVB.ConnectionString)
            conn.Open()
            Dim command As New OleDbCommand("DELETE FROM Images WHERE FileName LIKE ?", conn)
            command.Parameters.Add("@FileName", FileName)
            Dim success As Boolean = True
            Try
                command.ExecuteNonQuery()
            Catch
                success = False
            Finally
                conn.Close()
            End Try
            Return success
        End Function 'DeleteImage
#End Region

#Region "Web Form Designer generated code"

        Protected Overrides Sub OnInit(ByVal e As EventArgs)
            InitializeComponent()
            MyBase.OnInit(e)
        End Sub 'OnInit


        Private Sub InitializeComponent()
        End Sub 'InitializeComponent

#End Region

#Region "Other methods"

        '/ <summary>
        '/ Checks where to show the error row and sets a message to a literal
        '/ </summary>
        '/ <param name="Message"></param>
        Private Sub SetMessage(ByVal Message As String)
            If Message = "" OrElse Message Is Nothing Then
                htmlRowMessage.Visible = False
                ltMessage.Text = Message
            Else
                htmlRowMessage.Visible = True
                ltMessage.Text = Message
            End If
        End Sub 'SetMessage


        '/ <summary>
        '/ Gets the thumbnail of an image
        '/ </summary>
        '/ <param name="image"></param>
        '/ <returns></returns>
        Private Function GetThumbnail(ByVal image As System.Drawing.Image) As System.Drawing.Image
            Dim height As Integer = DefaultVB.ThumbsHeight
            Dim width As Integer = DefaultVB.ThumbsWidth
            Dim myCallback As New System.Drawing.Image.GetThumbnailImageAbort(AddressOf MyThumbnailCallBack)
            Return image.GetThumbnailImage(width, height, myCallback, IntPtr.Zero)
        End Function 'GetThumbnail


        '/ <summary>
        '/ A Dummy method, needed by the GetThumbnail method
        '/ </summary>
        '/ <returns></returns>
        Private Function MyThumbnailCallBack() As Boolean
            Return False
        End Function 'MyThumbnailCallBack

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -