CSharp Handling Objectdatasource Control Events – ADO.Net Database

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">    protected void srcGuestbook_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
    {
        e.InputParameters.Add("IPAddress", Request.UserHostAddress);
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <form id="form1" runat="server">
    <div>
    <asp:FormView
        id="frmGuestbook"
        DataSourceID="srcGuestbook"
        DefaultMode="Insert"
        Runat="server">
        <insertItemTemplate>
        <asp:Label
            ID="lblComment"
            Text="Comment:"
            AssociatedControlID="txtComment"
            Runat="server" />
        <asp:TextBox
            id="txtComment"
            Text='<%# Bind("comment") %>'
            TextMode="MultiLine"
            Columns="50"
            Rows="4"
            Runat="server" />
        <asp:Button
            id="btnInsert"
            Text="Add Entry"
            CommandName="Insert"
            Runat="server" />
         </insertItemTemplate>
    </asp:FormView>
    <asp:GridView
        id="grdGuestbook"
        DataSourceID="srcGuestbook"
        CssClass="guestbook"
        Runat="server" />    <asp:ObjectDataSource
        id="srcGuestbook"
        TypeName="Guestbook"
        SelectMethod="GetEntries"
        InsertMethod="AddEntry"
        OnInserting="srcGuestbook_Inserting"
        Runat="server" />    </div>
    </form>
</body>
</html>File: Guestbook.csusing System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
public class Guestbook
{
    private string _conString;    public SqlDataReader GetEntries()
    {
        SqlConnection con = new SqlConnection(_conString);        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "SELECT Id,IPAddress,Comment,EntryDate FROM Guestbook";        con.Open();
        return cmd.ExecuteReader(CommandBehavior.CloseConnection);
     }     public void AddEntry(string IPAddress, string comment)
     {
         SqlConnection con = new SqlConnection(_conString);         SqlCommand cmd = new SqlCommand();
         cmd.Connection = con;
         cmd.CommandText = "INSERT Guestbook (IPAddress,Comment)" + " VALUES (@IPAddress, @Comment)";         cmd.Parameters.AddWithValue("@IPAddress", IPAddress);
         cmd.Parameters.AddWithValue("@Comment", comment);         using (con)
         {
             con.Open();
             cmd.ExecuteNonQuery();
         }
     }     public Guestbook()
     {
         _conString = WebConfigurationManager.ConnectionStrings["Guestbook"]. ConnectionString;
     }
}File: Web.config<configuration>
  <connectionStrings>
    <add name="Guestbook"
         connectionString="Data Source=.\SQLEXPRESS;
         AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
  </connectionStrings>
</configuration>

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.