Error is:
Quote:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK__ImageRepo__User___1FCDBCEB". The conflict occurred in database "OIGTrial1", table "dbo.UserDetails", column 'EmailId'. The statement has been terminated.
................................................................................
database:
Create table UserDetails
(Id int Identity(1,1),
EmailId varchar(100) primary key,
PhoneNo bigint,
Country_Id int foreign key references Country(Id),
Gender_Id int foreign key references Gender(Id),
SecurityQuestion_Id int foreign key references SecurityQuestion(Id),
Answer varchar(max),
Username varchar(100) Unique,
Password varchar(50),
CreatedDate datetime,
Status bit
)
Create table ImageRepository
(Id int Identity(1,1) primary key,
User_Id varchar(100) foreign key references UserDetails(EmailId),
Name varchar(50),
Descrip varchar(Max),
Imagecategory_Id int foreign key references Imagecategory(Id),
Date datetime,
Path varchar(max),
Status bit,
ImageType_Id int foreign key references ImageType(Id)
)
Create proc Usp_UploadImage1(@User_Id varchar(100), @Name varchar(50), @Descrip varchar(100), @Imagecategory_Id int, @Date datetime, @Path varchar(max), @Status bit, @ImageType_Id int)
as begin
insert into ImageRepository values(@User_Id, @Name, @Descrip, @Imagecategory_Id, @Date, @Path, @Status, @ImageType_Id)
end
................................................................................
At login page:
SqlCommand cmd1 = new SqlCommand("select EmailId from UserDetails where Username=@str",con1);
cmd1.Parameters.Add(new SqlParameter("@str", SqlDbType.VarChar, 100));
cmd1.Parameters["@str"].Value = TxtUserName.Text;
string str = cmd1.ExecuteReader().ToString();
Session["UserId"] = str;
at image upload page:
protected void BtnUpload_Click(object sender, EventArgs e)
{
string FileExt = System.IO.Path.GetExtension(FileUpload1.FileName);
if (FileExt.ToLower() == ".jpg" || FileExt.ToLower() == ".jpeg" || FileExt.ToLower() == ".png" || FileExt.ToLower() == ".gif")
{
ss = Server.MapPath("~/Images/");
FileUpload1.SaveAs(ss + FileUpload1.FileName);
Image1.ImageUrl = "~/Images/" + FileUpload1.FileName;
}
else
{
Response.Write("Please Select an Image File..!");
}
}
protected void BtnSubmit_Click(object sender, EventArgs e)
{
try
{
path = "~/Images/" + FileUpload1.FileName;
int status = 1;
int Image_Catagory = Convert.ToInt32(DrpImageCatagory.SelectedValue.ToString());
int Image_type = Convert.ToInt32(RadioImageType.SelectedValue);
con.Open();
SqlCommand cmd1 = new SqlCommand("Usp_UploadImage1", con);
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.Add(new SqlParameter("@User_Id", SqlDbType.VarChar, 100));
cmd1.Parameters["@User_Id"].Value = Session["UserId"].ToString();
cmd1.Parameters.Add(new SqlParameter("@Name", SqlDbType.VarChar, 100));
cmd1.Parameters["@Name"].Value = TxtImageName.Text.Trim();
cmd1.Parameters.Add(new SqlParameter("@Descrip", SqlDbType.VarChar, 100));
cmd1.Parameters["@Descrip"].Value = TxtImageDescription.Text.Trim();
cmd1.Parameters.Add(new SqlParameter("@Imagecategory_Id", SqlDbType.Int));
cmd1.Parameters["@Imagecategory_Id"].Value = DrpImageCatagory.SelectedIndex;
cmd1.Parameters.Add(new SqlParameter("@Date", SqlDbType.DateTime));
cmd1.Parameters["@Date"].Value = System.DateTime.Now;
cmd1.Parameters.Add(new SqlParameter("@Path", SqlDbType.VarChar,200));
cmd1.Parameters["@Path"].Value = path;
cmd1.Parameters.Add(new SqlParameter("@Status", SqlDbType.Int));
cmd1.Parameters["@Status"].Value = status;
cmd1.Parameters.Add(new SqlParameter("@ImageType_Id", SqlDbType.Int));
cmd1.Parameters["@ImageType_Id"].Value = RadioImageType.SelectedIndex;
int rowcount = cmd1.ExecuteNonQuery();
con.Close();
if (rowcount > 0)
{
LblStatus.Text = "Data Inserted Successful..!";
}
else
{
LblStatus.Text = "Something went Wrong !";
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
con.Close();
}
}