Hi..
In my previous atricle i explain about store a image in database without using Handler. By convert the image to bytes then we can store Bytes to database.By Following this methods ,It take more time to display a image in Grid,Below i mention url for your refrence...
http://vbdotnetaddict.blogspot.com/2011/06/how-to-retrieve-uploaded-images-from.html


Now in this article ,we are going to insert only image url to the database,we are storing the image in seperate folder.
By this method it take very less time to display an image.

Just Follow these Steps You have to do..

click Solutin Explorer add a new folder with name Image.

Create A DataBase should be like this.......


Design client side page like Below,Further follow the code for design

Client Side Coding:
<body>
    <form id="form1" runat="server">
    <div>
    <table cellpadding ="0" cellspacing ="0" width="500" align="center" >
    <tr>
    <td height="100"></td>
    
    </tr>
    <tr>
    <td>
    Name:
    </td>
    <td>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </td>
    
    </tr>
    <tr>
    <td>
    Image:
    </td>
    <td>
    <asp:FileUpload ID="FileUpload1" runat="server" />
    </td>
    
    
    </tr>
    <tr>
    <td height="30">
    
    </td>
    
    </tr>
    <tr>
    <td  align="justify"  >
    
        <asp:Button ID="Button1" runat="server" Text="ADD" />
    </td>
    <td>
        <asp:Label ID="Label1" runat="server"></asp:Label>
    </td>
    </tr>
    <tr>
    <td colspan ="2">
    <asp:Button ID="Button2" runat="server" Text="Show all" />
    </td>
        
    </tr>
    <tr>
    <td colspan ="2">
        <asp:GridView ID="imggrid" runat="server" AutoGenerateColumns ="false" Width="500px" DataKeyNames ="Sno" > 
        
        <Columns >
        <asp:TemplateField HeaderText ="SNO" >
        <ItemTemplate >
        <%#Eval("Sno")%>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText ="Name" >
        <ItemTemplate>
        <%#Eval("Name")%>
        </ItemTemplate>
        
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Image">
        <ItemTemplate >
            <asp:Image ID="Image1" runat="server" ImageUrl ='<%#eval("ImageURL") %>' height="100px" Width="100px" />
        </ItemTemplate>
        </asp:TemplateField>
        <asp:CommandField HeaderText ="Modify" ShowEditButton ="true" ShowDeleteButton ="false" EditText ="Modify" />
        <asp:TemplateField Headertext="Delete">
        <ItemTemplate >
                    <asp:LinkButton ID="lnkdelete" runat="server" CommandName ="Delete">Delete</asp:LinkButton>
        </ItemTemplate>
        
        </asp:TemplateField>
        </Columns>
        </asp:GridView>
    
    
    </td>
    
    </tr>
    </table>
    </div>
    </form>
</body>


Server Side Coding:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim imgext As String
        Dim imgpath As String
        Dim fname As String


        con.ConnectionString = ConfigurationManager.ConnectionStrings("con").ConnectionString


        If FileUpload1.HasFile Then
            imgext = FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf(".") + 1).ToLower


            'Get the max Sno from the table
            maxid()
            fname = TextBox1.Text
            filename = id + (FileUpload1.FileName)
            If (imgext = "jpg" Or imgext = "gif" Or imgext = "bmp") Then
                imgpath = "~/image/" + filename
                FileUpload1.SaveAs(Server.MapPath("~/image/") + filename)
            Else
                Label1.Text = "update only jpg,gif and bmp file"
            End If
            'Insert image Path into Database
            fselect = "insert into imgurl values('" & id & "','" & fname & "','" & imgpath & "')"
            sqlcmd = New SqlCommand(fselect, con)
            con.Open()
            sqlcmd.ExecuteNonQuery()
            con.Close()
            Label1.Text = "image Upload Succesfully"
            loadgrid()
        End If
    End Sub
    Sub maxid()
        con.ConnectionString = ConfigurationManager.ConnectionStrings("con").ConnectionString


        fselect = "select isnull(max(Sno)+1,1) as id from imgurl"
        sqlcmd = New SqlCommand(fselect, con)
        con.Open()
        sqladp = New SqlDataAdapter(sqlcmd)
        ds = New DataSet
        sqladp.Fill(ds)
        dt = ds.Tables(0)
        If dt.Rows.Count > 0 Then
            id = dt.Rows(0).Item("id")


        End If
        con.Close()
    End Sub
    Sub loadgrid()
        con.ConnectionString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        fselect = "select * from imgurl"
        sqlcmd = New SqlCommand(fselect, con)
        con.Open()


        sqldr = sqlcmd.ExecuteReader()
        If sqldr.HasRows Then
            imggrid.DataSource = sqldr
            imggrid.DataBind()
            imggrid.Columns(0).Visible = False
        Else
            imggrid.DataSource = sqldr
            imggrid.DataBind()
            imggrid.Columns(0).Visible = False
        End If
        con.Close()
    End Sub
    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        loadgrid()
    End Sub
    Protected Sub imggrid_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles imggrid.RowDeleting
        Dim sno As Integer
        Dim url As String
        Dim fpath As String
        con.ConnectionString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        sno = imggrid.DataKeys(e.RowIndex).Value.ToString
        fselect = "select imageURL from imgurl where sno='" & sno & "'"
        sqlcmd = New SqlCommand(fselect, con)
        con.Open()
        sqladp = New SqlDataAdapter(sqlcmd)
        con.Close()
        ds = New DataSet
        sqladp.Fill(ds)
        dt = ds.Tables(0)
        If dt.Rows.Count > 0 Then
            url = dt.Rows(0).Item("imageURL")


        End If


        fselect = "delete from imgurl where sno='" & sno & "'"
        sqlcmd = New SqlCommand(fselect, con)
        con.Open()
        sqlcmd.ExecuteNonQuery()
        con.Close()
        'Delete the imgae File from that folder
        fpath = Server.MapPath(url)
        System.IO.File.Delete(fpath)
        loadgrid()
    End Sub

i hope this one helpful to u...
plz post you comments


Hi..

In this article i am going to explain to send mail by using multiple attachment in ASP.NET.

Now In this article you can send a mail with attachment.Its very easy process, add fileupload control from the toolbox
and design a page like below ,then add the following code..
First you have to import the namespace....

system.net.mail

Then write the below code in Send Button Click Event.......


 Dim mail As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
        Dim attach1 As String
        mail.To.Add(TextBox2.Text)
'checking CC and BCC textbox empty or Not
        If Not TextBox3.Text = "" Then
            mail.CC.Add(TextBox3.Text)
        End If
        If Not TextBox4.Text = "" Then
            mail.Bcc.Add(TextBox4.Text)
        End If
 mail.Subject = TextBox5.Text
        mail.From = New MailAddress(TextBox1.Text)
        mail.Body = TextBox6.Text
If attachment.HasFile Then
            mail.Attachments.Add(New Attachment(attachment.PostedFile.InputStream, attachment.FileName))
        End If
        If attachment2.HasFile Then
            mail.Attachments.Add(New Attachment(attachment2.PostedFile.InputStream, attachment2.FileName))
        End If

        mail.IsBodyHtml = True
        Dim smtp As SmtpClient = New SmtpClient()
        smtp.Host = "smtp.gmail.com"
               smtp.Credentials = New System.Net.NetworkCredential("Gmailusername", "password")
        smtp.EnableSsl = True
        Label1.Text = "Your mail has sent"
        Try
            smtp.Send(mail)
        Catch ex As Exception
            Label1.Text = "The email cannot be sent" + ex.ToString()
        End Try


For Sending mail through yahoo you have to change following thing in the above code...

smtp.Host = "smtp.mail.yahoo.com"
smpt.port=25
smtp.EnableSsl = False
smtp.Credentials = New System.Net.NetworkCredential("Yahoousername", "password")


i hope this helpful to you..........
plz continue with comments...


Hi..

In Previous article i explained about How to upload image to database and How to validate that image,For your refernce i mention the article url below
http://vbdotnetaddict.blogspot.com/2011/02/upload-file-in-aspnet-using-vb-coding.html
http://vbdotnetaddict.blogspot.com/2011/06/how-to-validate-uploaded-images-in.html
Now i am going to explain about to retrieve the uploaded images from the database and View through Data Grid View..

Before in SQL you have to create a table like this..
GO
CREATE TABLE [dbo].[upload](
 [fileid] [int] IDENTITY(1,1) NOT NULL,
 [ImageName] [varchar](max) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
 [Image] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]



Coding:


 If FileUpload1.HasFile Then


                Dim intlength As Integer
                Dim bytes1() As Byte = pstFile(FileUpload1) 'Function Used to read bytes from the upload image
                ' Create SQL Connection 


                Dim con As New SqlConnection()
                con.ConnectionString = ConfigurationManager.ConnectionStrings("phone").ConnectionString




                intlength = Convert.ToInt32(FileUpload1.PostedFile.InputStream.Length)
                Dim cmd As New SqlCommand()
                cmd.CommandText = "INSERT INTO upload(ImageName,Image) VALUES (@ImageName,@Image)"
                cmd.CommandType = CommandType.Text
                cmd.Connection = con
                Dim ImageName As New SqlParameter("@ImageName", SqlDbType.VarChar, 50)
                ImageName.Value = TextBox1.Text.ToString
                cmd.Parameters.Add(ImageName)


                Dim imagelenth As New SqlParameter("@Image", SqlDbType.Image)
                imagelenth.Value = bytes1
                cmd.Parameters.Add(imagelenth)
         
                con.Open()
                Dim result As Integer = cmd.ExecuteNonQuery()
                con.Close()


                 loadgrid() 'Used To store image value in grid
            Else


                Label1.Text = "please select the file to uplaod"
            End If

 'Function Used to read bytes from the upload image

  Function pstFile(ByVal passfile As FileUpload) As Byte()
        Dim fs As Stream
        Dim bytes1 As Byte()
        Dim postfile As Byte()
        fs = passfile.PostedFile.InputStream
        Dim br1 As New BinaryReader(fs)
        bytes1 = br1.ReadBytes(passfile.FileContent.Length)
        postfile = bytes1
        Return postfile
    End Function





 'Function Used to store image value in gridview



  Sub loadgrid()
        Dim fselect As String
        Dim adp As New SqlDataAdapter
        Dim ds As New DataSet
        fselect = "select fileid,ImageName from upload"
        Dim con As New SqlConnection()


        con.ConnectionString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        Dim cmd As New SqlCommand()
        cmd = New SqlCommand(fselect, con)
        con.Open()
        adp = New SqlDataAdapter(cmd)
        ds = New DataSet
        adp.Fill(ds)
        dt = ds.Tables(0)
        Session("dataimage") = dt
        imggrid.DataSource = dt
        imggrid.DataBind()
    End Sub



'client Side Coding for create grid view

<body>
    <form id="form1" runat="server">
    <div>
     <asp:FileUpload ID="FileUpload1" runat="server" />
    <br />
    <br />
      Enter the File name to Upload  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
       <br />
        click here to upload the file  <asp:Button ID="Button1" runat="server" 
            Text="submit" style="height: 26px" />
    <br />
        <asp:Label ID="Label1" runat="server"></asp:Label>
         <table cellpadding ="0" cellspacing ="0"  width: "100%"> 
        <tr>
        <td height="300">
        <asp:GridView ID="imggrid" runat="server" AutoGenerateColumns ="false" 
                Width="97%"  >
        <Columns >
        <asp:TemplateField HeaderText ="Name">
        <ItemTemplate >
        <%#Eval("imagename")%>
        </ItemTemplate>
        
        
        </asp:TemplateField>
        <asp:TemplateField HeaderText ="Image">
        <ItemTemplate >
               
        <asp:Image ID="Image1" runat="server" ImageUrl ="Image.aspx?id=0" /> 'This image File is called form the page image.aspx
           
        </ItemTemplate>
                
        </asp:TemplateField>
         </Columns>
        
        </asp:GridView>
        </td>
        
        </tr>
       
        </table>
 </div>
    </form>
</body>


For view an image we have to create one another page like image.aspx, and write the following coding in the server side.....
image.aspx  page is called from the Grid View..
By the same way you can get the imagename from the query string ,By using image id get the image from the database and show in grid view.........



 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim con As New SqlConnection
        Dim i As Integer
        i = CInt(Request.QueryString("ID").ToString)


        con.ConnectionString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        Dim sqlcmd As New SqlCommand
        Dim sqldr As SqlDataReader


        sqlcmd = New SqlCommand("select image from upload where ='" & i & "'", con)
        con.Open()
        sqldr = sqlcmd.ExecuteReader()
        con.Close()


        If sqldr.HasRows Then
            Response.BinaryWrite(sqldr("image"))
        End If


    End Sub


    End Sub
I hope this one really helpful to you........