CRUD in C#
Naming convention should be very important for Id and Method.
SQL Table Query:
CREATE TABLE [tblStudents](
[St_Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](40) NULL,
[Gender] [varchar](10) NULL,
[Email] [varchar](40) NULL,
[SubjectId] [int] NULL
)
CREATE TABLE [MasterSubjects](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Sub_Name] [varchar](40) NULL
)
| aspx | C# | SQL Helper |
|---|---|---|
<form id="form1" runat="server">
<div>
<h1>Registration Form</h1>
<asp:Label ID="lblId" runat="server" Visible="false" ></asp:Label>
<table style="font-size:18px">
<tr>
<td> Name</td>
<td><asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Subject:</td>
<td><asp:DropDownList ID="ddlSub" runat="server">
<asp:ListItem>--Select Subjects-- </asp:ListItem>
<asp:ListItem Value="1">Physics </asp:ListItem>
<asp:ListItem Value="2">Chemistry </asp:ListItem>
<asp:ListItem Value="3">Biology </asp:ListItem>
<asp:ListItem Value="4">Maths </asp:ListItem>
<asp:ListItem Value="5">English </asp:ListItem>
<asp:ListItem Value="6">Computer </asp:ListItem>
<asp:ListItem Value="7">History & Civics </asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td>Email:</td>
<td><asp:TextBox ID="txtEmail" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Gender:</td>
<td>
<asp:RadioButtonList ID="rbtnListGender" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Male" Value="Male"></asp:ListItem>
<asp:ListItem Text="Female" Value="Female"></asp:ListItem>
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td></td>
<td>
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" />
<asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="btnUpdate_Click"
Visible="false" />
<asp:Button ID="btnClear" runat="server" Text="Clear" OnClick="btnClear_Click" />
</td>
</tr>
</table>
<h2>Registration Data</h2>
<table border="1" style="border-collapse:collapse">
<tr >
<th>Name</th>
<th>Email</th>
<th>Gender</th>
<th>Subject</th>
<th colspan="2">Action</th>
</tr>
<asp:Repeater ID="rptStudents" runat="server" OnItemCommand="rptStudents_ItemCommand">
<ItemTemplate>
<tr>
<td><%# Eval("Name") %></td>
<td><%# Eval("Email") %></td>
<td><%# Eval("Gender") %></td>
<td><%# Eval("Subject") %></td>
<td>
<asp:LinkButton ID="lbtnEdit" runat="server" CommandName="Edit"
CommandArgument='<%# Eval("Id") %>'>Edit</asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lbtnDelete" runat="server" CommandName="Delete"
CommandArgument='<%# Eval("Id") %>'>Delete</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</form>
|
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindStudents();
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
SqlHelper obj = new SqlHelper();
string[] cols = { "Name", "Gender", "Email", "SubjectId" };
object[] vals = { txtName.Text, (rbtnListGender.SelectedValue), txtEmail.Text, ddlSub.SelectedValue };
obj.insertValIntoTable("tblStudents", cols,vals);
Response.Write("<script>alert('Data Saved Successfully')</script>");
bindStudents();
btnClear_Click(sender, e);
}
protected void rptStudents_ItemCommand(object source, RepeaterCommandEventArgs e)
{
SqlHelper obj = new SqlHelper();
if (e.CommandName == "Edit")
{
DataTable dt = obj.getDataTable("SELECT * FROM tblStudents WHERE Id = " + e.CommandArgument);
lblId.Text = dt.Rows[0]["Id"].ToString();
txtName.Text = dt.Rows[0]["Name"].ToString();
txtEmail.Text = dt.Rows[0]["Email"].ToString();
rbtnListGender.SelectedValue = dt.Rows[0]["Gender"].ToString();
ddlSub.SelectedValue = dt.Rows[0]["SubjectId"].ToString();
btnSave.Visible = false;
btnUpdate.Visible = true;
}
else if (e.CommandName == "Delete")
{
obj.ExecuteNonQuery("DELETE FROM tblStudents WHERE Id = " + e.CommandArgument);
Response.Write("<script>alert('Data Delete Successfully')</script");
bindStudents();
}
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
SqlHelper obj = new SqlHelper();
string[] cols = { "Name", "Gender", "Email", "SubjectId" };
object[] vals = { txtName.Text, (rbtnListGender.SelectedValue), txtEmail.Text, ddlSub.SelectedValue};
obj.updateValIntoTable("tblStudents", cols, vals, "Id", lblId.Text);
Response.Write("<script>alert('Data Update Successfully')</script>");
bindStudents();
btnClear_Click(sender, e);
}
protected void btnClear_Click(object sender, EventArgs e)
{
lblId.Text = ""; txtName.Text = ""; txtEmail.Text = ""; rbtnListGender.ClearSelection();
ddlSub.SelectedIndex = 0; btnSave.Visible = true; btnUpdate.Visible = false;
}
protected void bindStudents()
{
SqlHelper obj = new SqlHelper();
rptStudents.DataSource = obj.getDataTable("SELECT st.Id, st.Name, st.Email, st.Gender, sub.Sub_Name AS
Subject" +" FROM tblStudents st left outer JOIN MasterSubjects sub ON sub.Id = st.SubjectId");
rptStudents.DataBind();
}
|
public class SqlHelper
{
SqlConnection sqlconn = new SqlConnection
(@"Data Source= ; Initial Catalog= ; User ID= ; Password= ");
public void insertValIntoTable(string tablename, string[] columnNames, object[] value)
{
int colsLength = columnNames.Length;
string qry = "INSERT INTO "+ tablename+"(";
for (int i = 0; i <= colsLength - 1; i++)
{
qry = qry + "" + columnNames[i].Trim()+",";
}
qry = qry.Substring(0, qry.Length-1) + ") VALUES(" ;
for (int i = 0; i <= colsLength - 1; i++)
{
qry = qry + "@" + columnNames[i].Trim() + ",";
}
qry = qry.Substring(0, qry.Length - 1) + ")";
SqlCommand cmd = new SqlCommand(qry, sqlconn);
for (int i = 0; i <= colsLength - 1; i++)
{
cmd.Parameters.AddWithValue("@"+ columnNames[i].Trim(),
(value[i] == null || value[i] == "") ? DBNull.Value : value[i]);
}
sqlconn.Open();
cmd.ExecuteNonQuery();
sqlconn.Close();
}
public void updateValIntoTable(string tablename, string[] columnNames,
object[] value,string condCol, object condValue)
{
int colsLength = columnNames.Length;
string qry = "update " + tablename + " set ";
for (int i = 0; i <= colsLength - 1; i++)
{
qry = qry + "" + columnNames[i].Trim() + "=@"+ columnNames[i].Trim() + ",";
}
qry = qry.Substring(0, qry.Length - 1) + " where "+ condCol+"=@"+ condCol;
SqlCommand cmd = new SqlCommand(qry, sqlconn);
for (int i = 0; i <= colsLength - 1; i++)
{
cmd.Parameters.AddWithValue("@" + columnNames[i].Trim(),
(value[i] == null || value[i] == "") ? DBNull.Value : value[i]);
}
cmd.Parameters.AddWithValue("@" + condCol,
(condValue == null || condValue == "") ? DBNull.Value : condValue);
sqlconn.Open();
cmd.ExecuteNonQuery();
sqlconn.Close();
}
}
|
Last Update: July 10, 2026
Total 0 Votes:
0
0

