Hi appguruz16,
I have created a sample which fullfill your requirement
HTML
<div>
<table>
<tr>
<td>
<asp:Label Text="ID" runat="server" />
</td>
<td>
<asp:TextBox ID="txtID" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label Text="NAME" runat="server" />
</td>
<td>
<asp:TextBox ID="txtName" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label Text="DATA1" runat="server" />
</td>
<td>
<asp:TextBox ID="txtData1" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label Text="DATA2" runat="server" />
</td>
<td>
<asp:TextBox ID="txtData2" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label Text="DATA3" runat="server" />
</td>
<td>
<asp:TextBox ID="txtData3" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label Text="DATA4" runat="server" />
</td>
<td>
<asp:TextBox ID="txtData4" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label Text="DATA5" runat="server" />
</td>
<td>
<asp:TextBox ID="txtData5" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSubmit" OnClick="Save" Text="Submit" runat="server" />
</td>
</tr>
</table>
<br />
<asp:GridView ID="gvData" runat="server">
<EmptyDataTemplate>
<tr>
<th scope="col">
ID
</th>
<th scope="col">
NAME
</th>
<th scope="col">
DATA1
</th>
<th scope="col">
DATA2
</th>
<th scope="col">
DATA3
</th>
<th scope="col">
DATA4
</th>
<th scope="col">
DATA5
</th>
</tr>
<tr>
<td colspan="7">
No Records Found!
</td>
</tr>
</EmptyDataTemplate>
</asp:GridView>
</div>
C# Code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
protected void Save(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
string query = "INSERT INTO Table1(ID,NAME,DATA1,DATA2,DATA3,DATA4,DATA5) VALUES(@Id,@Name,@Data1,@Data2,@Data3,@Data4,@Data5)";
SqlCommand cmd = new SqlCommand(query);
cmd.Connection = con;
con.Open();
cmd.Parameters.AddWithValue("@Id", txtID.Text.Trim());
cmd.Parameters.AddWithValue("@Name", txtName.Text.Trim());
if (!string.IsNullOrEmpty(txtData1.Text.Trim()))
{
cmd.Parameters.AddWithValue("@Data1", txtData1.Text.Trim());
}
else
{
cmd.Parameters.AddWithValue("@Data1", DBNull.Value);
}
if (!string.IsNullOrEmpty(txtData2.Text.Trim()))
{
cmd.Parameters.AddWithValue("@Data2", txtData2.Text.Trim());
}
else
{
cmd.Parameters.AddWithValue("@Data2", DBNull.Value);
}
if (!string.IsNullOrEmpty(txtData3.Text.Trim()))
{
cmd.Parameters.AddWithValue("@Data3", txtData3.Text.Trim());
}
else
{
cmd.Parameters.AddWithValue("@Data3", DBNull.Value);
}
if (!string.IsNullOrEmpty(txtData4.Text.Trim()))
{
cmd.Parameters.AddWithValue("@Data4", txtData4.Text.Trim());
}
else
{
cmd.Parameters.AddWithValue("@Data4", DBNull.Value);
}
if (!string.IsNullOrEmpty(txtData5.Text.Trim()))
{
cmd.Parameters.AddWithValue("@Data5", txtData5.Text.Trim());
}
else
{
cmd.Parameters.AddWithValue("@Data5", DBNull.Value);
}
cmd.ExecuteNonQuery();
con.Close();
// lblMessage.Visible = true;
BindGrid();
}
public void BindGrid()
{
string constr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
string query = "SELECT * FROM Table1";
SqlCommand cmd = new SqlCommand(query);
cmd.Connection = con;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
gvData.DataSource = dt;
gvData.DataBind();
}
ScreenShot

Hope this works for you.