Introduction
Introducing a daily use application developed in ASP.NET to manage the contact
numbers, birthday, email etc. This article will guide using step by step
approach to create such applications. I am using SQL Server and Access Databases
separately; any one may be used by the user of this application.
Why I Developed This?
Actually, my mobile phone a huge list of contact and it is very difficult to
manage on handset always, reason may be anything like data-loose or difficult to
find on mobile keypad. I exported my entire contact in CSV format and then I
imported that in Microsoft Access database and then in SQL Server.
Next, I developed a web application to manage that database having searching,
shorting, inserting, selecting, editing deleting like features. I would like to
share the processes here. Find the screen of running application.
Database Structure
Find the database structure that I have created for my application.
AccessDB.aspx Page (Front) Code
I am using show-hide div option to insert new record in database by using some
javascript codes.
<%@
Page Language="C#"
AutoEventWireup="true"
CodeFile="AccessDB.aspx.cs"
Inherits="_Default"
%>
<!DOCTYPE
html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head
runat="server">
<title>Using
Access Database</title>
</head>
<body>
<form
id="form1"
runat="server">
<div>
<script
type="text/javascript">
function toggle(o) {
var e =
document.getElementById(o);
e.style.display = e.style.display ==
'block' ?
'none' : 'block';
}
onload = function () {
var e, i = 0;
while (e =
document.getElementById(['list1'][i++])) {
e.style.display = 'none';
}
}
</script>
<div
class="tabledata1">
<a
href="#"
onclick="toggle('list1');">Insert
New Record</a>
</div>
<div
id="list1"
style="font-family:Verdana;
font-size:11px;
background-color:#cccccc;
padding:10px;">
<table>
<tr>
<td>
<hr
/>
<table>
<tr>
<td>
Name
</td>
<td>
Mobile
</td>
<td>
Home Number
</td>
<td>
Company Number
</td>
<td>
Email
</td>
<td>
Office
</td>
<td>
Fax
</td>
<td>
Birthday
</td>
</tr>
<tr>
<td>
<asp:TextBox
ID="name"
runat="server"
Width="105px"></asp:TextBox>
</td>
<td>
<asp:TextBox
ID="mobile"
runat="server"
Width="105px"></asp:TextBox>
</td>
<td>
<asp:TextBox
ID="homenumber"
runat="server"
Width="105px"></asp:TextBox>
</td>
<td>
<asp:TextBox
ID="companynumber"
runat="server"
Width="105px"></asp:TextBox>
</td>
<td>
<asp:TextBox
ID="email"
runat="server"
Width="105px"></asp:TextBox>
</td>
<td>
<asp:TextBox
ID="office"
runat="server"
Width="105px"></asp:TextBox>
</td>
<td>
<asp:TextBox
ID="fax"
runat="server"
Width="105px"></asp:TextBox>
</td>
<td>
<asp:TextBox
ID="birthday"
runat="server"
Width="105px"></asp:TextBox>
</td>
</tr>
</table>
<div
style="text-align:
right">
<asp:Button
ID="btnSubmit"
runat="server"
Text="Insert"
onclick="btnSubmit_Click"
/>
</div>
<hr
/>
</td>
</tr>
</table>
</div>
</div>
<br
/>
<div
style="font-family:Verdana;
font-size:11px;
background-color:#c0c0c0;
padding:10px;">
Search by
<asp:DropDownList
ID="DropDownList1"
runat="server">
<asp:ListItem>Person_Name</asp:ListItem>
<asp:ListItem>Mobile</asp:ListItem>
<asp:ListItem>Home</asp:ListItem>
<asp:ListItem>Company</asp:ListItem>
<asp:ListItem>Email</asp:ListItem>
<asp:ListItem>Office</asp:ListItem>
<asp:ListItem>Fax</asp:ListItem>
<asp:ListItem>Birthday</asp:ListItem>
</asp:DropDownList>
where like
<asp:TextBox
ID="TextBox1"
runat="server"></asp:TextBox>
<asp:Button
ID="Button1"
runat="server"
Text="Filter"
onclick="Button1_Click"
/>
<asp:Button
ID="Button2"
runat="server"
Text="Clear Filter"
OnClick="Button2_Click"
/>
<br
/>
<br
/>
<asp:GridView
ID="GridView1"
runat="server"
AutoGenerateColumns="False"
BackColor="White"
BorderColor="White"
BorderStyle="Ridge"
BorderWidth="2px"
CellPadding="3"
CellSpacing="1"
DataKeyNames="ID"
DataSourceID="AccessDataSource1"
EmptyDataText="There
are no data records to display." GridLines="None"
Width="871px"
AllowSorting="True">
<Columns>
<asp:CommandField
ShowDeleteButton="True"
ShowEditButton="True"
ShowSelectButton="True"
/>
<asp:BoundField
DataField="Person_Name"
HeaderText="Person_Name"
SortExpression="Person_Name"
/>
<asp:BoundField
DataField="Mobile"
HeaderText="Mobile"
SortExpression="Mobile"
/>
<asp:BoundField
DataField="Home"
HeaderText="Home"
SortExpression="Home"
/>
<asp:BoundField
DataField="Company"
HeaderText="Company"
SortExpression="Company"
/>
<asp:BoundField
DataField="Email"
HeaderText="Email"
SortExpression="Email"
/>
<asp:BoundField
DataField="Office"
HeaderText="Office"
SortExpression="Office"
/>
<asp:BoundField
DataField="Fax"
HeaderText="Fax"
SortExpression="Fax"
/>
<asp:BoundField
DataField="Birthday"
HeaderText="Birthday"
SortExpression="Birthday"
/>
</Columns>
<FooterStyle
BackColor="#C6C3C6"
ForeColor="Black"
/>
<HeaderStyle
BackColor="#4A3C8C"
Font-Bold="True"
ForeColor="#E7E7FF"
/>
<PagerStyle
BackColor="#C6C3C6"
ForeColor="Black"
HorizontalAlign="Right"
/>
<RowStyle
BackColor="#DEDFDE"
ForeColor="Black"
/>
<SelectedRowStyle
BackColor="#9471DE"
Font-Bold="True"
ForeColor="White"
/>
<SortedAscendingCellStyle
BackColor="#F1F1F1"
/>
<SortedAscendingHeaderStyle
BackColor="#594B9C"
/>
<SortedDescendingCellStyle
BackColor="#CAC9C9"
/>
<SortedDescendingHeaderStyle
BackColor="#33276A"
/>
</asp:GridView>
<asp:AccessDataSource
ID="AccessDataSource1"
runat="server"
DataFile="App_Data\ContactsDB.mdb"
DeleteCommand="DELETE
FROM `ContactsTB` WHERE `ID` = ?"
InsertCommand="INSERT
INTO `ContactsTB` (`ID`, `Person_Name`, `Mobile`, `Home`, `Company`, `Email`,
`Office`, `Fax`, `Birthday`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
SelectCommand="SELECT
`ID`, `Person_Name`, `Mobile`, `Home`, `Company`, `Email`, `Office`, `Fax`,
`Birthday` FROM `ContactsTB`"
UpdateCommand="UPDATE
`ContactsTB` SET `Person_Name` = ?, `Mobile` = ?, `Home` = ?, `Company` = ?,
`Email` = ?, `Office` = ?, `Fax` = ?, `Birthday` = ? WHERE `ID` = ?">
<DeleteParameters>
<asp:Parameter
Name="ID"
Type="Int32"
/>
</DeleteParameters>
<InsertParameters>
<asp:Parameter
Name="ID"
Type="Int32"
/>
<asp:Parameter
Name="Person_Name"
Type="String"
/>
<asp:Parameter
Name="Mobile"
Type="String"
/>
<asp:Parameter
Name="Home"
Type="String"
/>
<asp:Parameter
Name="Company"
Type="String"
/>
<asp:Parameter
Name="Email"
Type="String"
/>
<asp:Parameter
Name="Office"
Type="String"
/>
<asp:Parameter
Name="Fax"
Type="String"
/>
<asp:Parameter
Name="Birthday"
Type="String"
/>
</InsertParameters>
<UpdateParameters>
<asp:Parameter
Name="Person_Name"
Type="String"
/>
<asp:Parameter
Name="Mobile"
Type="String"
/>
<asp:Parameter
Name="Home"
Type="String"
/>
<asp:Parameter
Name="Company"
Type="String"
/>
<asp:Parameter
Name="Email"
Type="String"
/>
<asp:Parameter
Name="Office"
Type="String"
/>
<asp:Parameter
Name="Fax"
Type="String"
/>
<asp:Parameter
Name="Birthday"
Type="String"
/>
<asp:Parameter
Name="ID"
Type="Int32"
/>
</UpdateParameters>
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
AccessDB.aspx Page Code-Behind
In the code given below I am using quicker code to filter contact and to insert
new record I am calling a execution() method that has sql query and rest
mechanism.
public
partial class
_Default : System.Web.UI.Page
{
protected void
Button1_Click(object sender,
EventArgs e)
{
string FilterExpression =
string.Concat(DropDownList1.SelectedValue,
" LIKE '%{0}%'");
AccessDataSource1.FilterParameters.Clear();
AccessDataSource1.FilterParameters.Add(new
ControlParameter(DropDownList1.SelectedValue,
"TextBox1",
"Text"));
AccessDataSource1.FilterExpression = FilterExpression;
}
protected void
Button2_Click(object sender,
EventArgs e)
{
AccessDataSource1.SelectParameters.Clear();
}
protected void
btnSubmit_Click(object sender,
EventArgs e)
{
execution(Convert.ToString(name.Text),
Convert.ToString(mobile.Text),
Convert.ToString(homenumber.Text),
Convert.ToString(companynumber.Text),
Convert.ToString(email.Text),
Convert.ToString(office.Text),
Convert.ToString(fax.Text),
Convert.ToString(birthday.Text));
Response.Redirect("~/AccessDB.aspx");
}
private void
execution(string person_name,
string mobile,
string home, string company,
string email,
string office, string fax,
string birthday)
{
try
{
string connectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + Server.MapPath("App_Data\\ContactsDB.mdb")
+ ";";
OleDbConnection conn
= new
OleDbConnection(connectionString);
conn.Open();
OleDbCommand cmd =
new
OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT
INTO ContactsTB (Person_Name, Mobile, Home, Company, Email, Office, Fax,
Birthday) VALUES (@person_name, @mobile, @home, @company, @email, @office, @fax,
@birthday)";
cmd.Parameters.Add("@person_name",
OleDbType.VarChar).Value =
person_name;
cmd.Parameters.Add("@mobile",
OleDbType.VarChar).Value =
mobile;
cmd.Parameters.Add("@home",
OleDbType.VarChar).Value = home;
cmd.Parameters.Add("@company",
OleDbType.VarChar).Value =
company;
cmd.Parameters.Add("@email",
OleDbType.VarChar).Value = email;
cmd.Parameters.Add("@office",
OleDbType.VarChar).Value =
office;
cmd.Parameters.Add("@fax",
OleDbType.VarChar).Value = fax;
cmd.Parameters.Add("@birthday",
OleDbType.VarChar).Value =
birthday;
cmd.ExecuteNonQuery();
conn.Close();
}
catch (System.Data.SqlClient.SqlException
ex_msg)
{
string msg =
"Error occured while inserting the
comment.";
msg += ex_msg.Message;
throw
new Exception(msg);
}
}
}
The same process used for SQL Server Database, you can download the attached
project and take a look at procedures.
I hope you like it. Please post your comments.