If foreign key has value, the data is inserting. if not it showing error
error is
The INSERT statement conflicted with the FOREIGN KEY constraint "FK__Team_Poli__Distr__63D8CE75". The conflict occurred in database "Teamindia7717", table "dbo.Team_District", column 'District_Id'.
The statement has been terminated.
and i have tried setting foreign key value null and defalut value 0 but it showing still same error
my code is
protected void Button1_Click(object sender, EventArgs e)
{
try
{
con.Open();
int State_ID = Convert.ToInt32(ddlState.SelectedValue);
int District_ID = Convert.ToInt32(ddldistrict.SelectedValue);
int Area_ID;
int Village_ID;
if (ddlArea.SelectedValue == "")
{
Area_ID = 0;
}
else
{
Area_ID = Convert.ToInt32(ddlArea.SelectedValue);
}
if (ddlVillage.SelectedValue == "")
{
Village_ID = 0;
}
else
{
Village_ID = Convert.ToInt32(ddlVillage.SelectedValue);
}
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter(cmd);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SP_InsertPoliticalLeaders";
cmd.Parameters.AddWithValue("@SelectPosition", ddlselectposition.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@State_Id", State_ID);
cmd.Parameters.AddWithValue("@District_Id", District_ID);
cmd.Parameters.AddWithValue("@Area_Id", Area_ID);
cmd.Parameters.AddWithValue("@Village_Id", Village_ID);
cmd.Parameters.AddWithValue("@IsPM", chkIsPM.Checked.ToString());
cmd.Parameters.AddWithValue("@IsCM", chkIsCM.Checked.ToString());
cmd.Parameters.AddWithValue("@IsCentralMinister", chkIsCentralMinister.Checked.ToString());
cmd.Parameters.AddWithValue("@IsStateMinister", chkIsStateMinister.Checked.ToString());
cmd.Parameters.AddWithValue("@IsCorporator", chkIsCorporator.Checked.ToString());
cmd.Parameters.AddWithValue("@IsActive", chkIsActive.Checked.ToString());
cmd.Parameters.AddWithValue("@PartyName", ddlPartyName.Text);
cmd.Parameters.AddWithValue("@Name", txtName.Text);
cmd.Parameters.AddWithValue("@Position", txtPosition.Text);
cmd.Parameters.AddWithValue("@StartPeriod", txtStartPeriod.Text);
cmd.Parameters.AddWithValue("@EndPeriod", txtEndPeriod.Text);
cmd.Parameters.AddWithValue("@DOB", txtDob.Text);
cmd.Parameters.AddWithValue("@PlaceOfbirth", txtPlaceOfBirth.Text);
cmd.Parameters.AddWithValue("@Religion", ddlReligion.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@Education", txtEducation.Text);
cmd.Parameters.AddWithValue("@PermenentAddress", txtpermanentAddress.Text);
cmd.Parameters.AddWithValue("@OfficialAddress", txtOfficialAddress.Text);
cmd.Parameters.AddWithValue("@MobileNumber", txtMobile.Text);
cmd.Parameters.AddWithValue("@EmailId", txtEmail.Text);
cmd.Parameters.AddWithValue("@Website", txtWebsite.Text);
cmd.Parameters.AddWithValue("@Spouse", txtSpouse.Text);
cmd.Parameters.AddWithValue("@Children", txtChildren.Text);
cmd.Parameters.AddWithValue("@PoliticalCareer", txtPoliticalCareer.Text);
cmd.Parameters.AddWithValue("@ImportantPositions", txtImportantPositions.Text);
cmd.Parameters.AddWithValue("@Achievements", txtAchievements.Text);
Guid FileName = Guid.NewGuid();
ImageUpload.SaveAs(Server.MapPath("~/Images/" + FileName + ".png"));
cmd.Parameters.AddWithValue("@ImagePath", "~/Images/" + FileName + ".png");
cmd.Connection = con;
cmd.ExecuteNonQuery();
Label1.Text = "Inserted ";
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
con.Dispose();
}
My table is
create table Team_PoliticalLeaders
(
Id int primary key identity(1,1),
SelectPosition nvarchar(100),
State_Id int foreign key references Team_States(State_Id),
District_Id int foreign key references Team_District(District_Id),
Area_Id int foreign key references Team_Area(Area_Id),
Village_Id int foreign key references Team_Village(Village_Id),
IsPM bit,
IsCM bit,
IsCentralMinister bit,
IsStateMinister bit,
IsCorporator bit,
IsActive bit,
PartyName varchar(250),
ImagePath nvarchar(Max),
Name varchar(150),
Position varchar(500),
StartPeriod nvarchar(100),
EndPeriod nvarchar(100),
DOB nvarchar(150),
PlaceOfBirth varchar(250),
Religion varchar(50),
Education nvarchar(500),
PermenentAddress nvarchar(500),
OfficialAddress nvarchar(500),
MobileNumber nvarchar(15),
EmailId nvarchar(100),
Website nvarchar(500),
Spouse varchar(150),
Children nvarchar(100),
PoliticalCareer nvarchar(max),
ImportantPositions nvarchar(max),
Achievements nvarchar(max),
)