Please refer this Code, here i have modified your select method and passed the array of SqlParameter. You can pass the any number of parameter as per your requirement
public static DataTable select(string query, SqlParameter[] sqlParameter)
{
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(query, openconn());
cmd.Parameters.AddRange(sqlParameter);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
return dt;
}
public DataTable InsertFamDetails(int EmpId, string DependentName, string Relation, DateTime DOB)
{
DataTable dt = new DataTable();
string q = string.Format("INSERT INTO Dependants_Master(emp_id, dependent_name, relation, dob) VALUES(@EmpId,@DependentName,@Relation,@DOB)");
SqlParameter[] sqlParameter = new SqlParameter[4];
sqlParameter[0] = new SqlParameter("@EmpId", EmpId);
sqlParameter[1] = new SqlParameter("@DependentName", DependentName);
sqlParameter[2] = new SqlParameter("@Relation", Relation);
sqlParameter[3] = new SqlParameter("@DOB", DOB);
select(q, sqlParameter);
return dt;
}
protected void AddFamDetails_Click(object sender, EventArgs e)
{
EmpId = int.Parse(Session["EmpId"].ToString());
string Name, Relation;
DateTime DOB;
Name = txtFamName.Text;
Relation = ddlRelation.SelectedItem.Text;
DOB = Convert.ToDateTime(txtDepDob.Text);
try
{
InsertFamDetails(EmpId, Name, Relation, DOB);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
I hope this will help you out.