📄 imagesdialogvb.aspx.vb
字号:
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 + -