3 tier architecture
.aspx page
<div align="center">
<asp:Label ID="lblMessage" runat="Server" ForeColor="red" EnableViewState="False"></asp:Label>
<table style="border:2px solid black" cellpadding="2" cellspacing="2">
<tr>
<td>Name:
</td>
<td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Age:</td>
<td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td> </td>
<td align="left"><asp:Button ID="Button1" runat="server" Text="Save"
onclick="Button1_Click" /></td></tr>
</table>
<div><br /><br /><br />
<asp:GridView ID="GridView1" runat="server" DataKeyNames="Id" AutoGenerateColumns="False"
AutoGenerateEditButton="True" OnRowEditing="EditRecord"
OnRowUpdating="UpdateRecord" OnRowDeleting="DeleteRecord">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True" />
<asp:TemplateField HeaderText="Name" >
<ItemTemplate>
<%# Eval("Name") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtname" runat="Server" Text='<%# Eval("Name") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Age" >
<ItemTemplate>
<%# Eval("Age") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtage" runat="Server" Text='<%# Eval("Age") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete?">
<ItemTemplate>
<span onclick="return confirm('Are you sure to Delete?')">
<asp:LinkButton ID="lnBD" runat="server" Text="Delete" CommandName="Delete"></asp:LinkButton>
</span>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
aspx.cs page
protected void UpdateRecord(object sender, GridViewUpdateEventArgs e)
{
int Id = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());
int intResult = 0;
GridViewRow row = GridView1.Rows[e.RowIndex];
TextBox tFN = (TextBox)row.FindControl("txtname");
TextBox tAge = (TextBox)row.FindControl("txtage");
personbal pbal = new personbal();
try
{
intResult = pbal.Update(Id, tFN.Text, int.Parse(tAge.Text));
if (intResult > 0)
lblMessage.Text = "Record Updated Successfully.";
else
lblMessage.Text = "Record couldn't updated";
}
catch (Exception ee)
{
lblMessage.Text = ee.Message.ToString();
}
finally
{
pbal = null;
}
GridView1.EditIndex = -1;
bind();
}
Dal.cs
public int Update(int Id, string Name, int Age)
{
SqlConnection sc = new SqlConnection(con);
sc.Open();
SqlCommand cmdupdate = new SqlCommand("UpdateValue", sc);
cmdupdate.CommandType = CommandType.StoredProcedure;
try
{
cmdupdate.Parameters.AddWithValue("@Name", Name);
cmdupdate.Parameters.AddWithValue("@Age", Age);
cmdupdate.Parameters.AddWithValue("@Id", Id);
return cmdupdate.ExecuteNonQuery();
}
catch
{
throw;
}
finally
{
cmdupdate.Dispose();
sc.Close();
sc.Dispose();
}
}
Bal.cs
public int Update(int Id, string Name, int Age)
{
persondal pdal = new persondal();
try
{
return pdal.Update(Id, Name, Age);
}
catch
{
throw;
}
finally
{
pdal = null;
}
}
stored procedure
ALTER PROCEDURE UpdateValue
(
@Id int,
@Name varchar(50),
@Age int
)
AS
UPDATE Person SET
Name = @Name,
Age = @Age
WHERE Id = @Id
RETURN
Insert,Load and delete is working fine but update is not working!!! :(
update is working,it gives successful message on compilation and executing BUT IN DATABASE ITS NOT UPDATING. :(
Please Help me out Guys :) I have interview tommo on 3 tier architecture :(
regards
harsha