简体   繁体   English

如何使用 c# asp.net 将外键数据插入数据库

[英]How to insert foreign key data into database using c# asp.net

I'm new to C# and I was trying to insert foreign key data to database using C# in ASP.NET but I'm not able to add the data to database.我是 C# 的新手,我试图使用 ASP.NET 中的 C# 将外键数据插入数据库,但我无法将数据添加到数据库。

Here is my code:这是我的代码:

protected void SaveButton_Click(object sender, EventArgs e)
{
        con.Open();

        int overRide = OverRideCheckBox.Checked ? 1 : 0;
        int r = 0;
        decimal r1 = 0;

        string query1 = "INSERT INTO Project_Productivity (ProjectInformationId_FK, PastExperienceInDomain, PastExperienceInTechnology, MultipleTechnologiesOrPlatforms, ClarityOfRequirements, AverageAgeOfApplication, QualityOfApplication, ResourceCapability, UsageOfProductivityTools, InterdependenceWithOtherModules, ComplexityInDatabaseChanges, TestEnvironmentStability, ComplexityOfTesting, BusinessCriticality, IsOverrideCalculation, ProductivityFactor, PermanentRatio, RotationalRatio, OffshoreRatio, Remarks) VALUES ((SELECT ProjectInformationId_PK FROM Project_Information WHERE ProjectInformationId_PK = @ProjectInformationId_FK), @PastExperienceInDomain, @PastExperienceInTechnology, @MultipleTechnologiesOrPlatforms, @ClarityOfRequirements, @AverageAgeOfApplication, @QualityOfApplication, @ResourceCapability, @UsageOfProductivityTools, @InterdependenceWithOtherModules, @ComplexityInDatabaseChanges, @TestEnvironmentStability, @ComplexityOfTesting, @BusinessCriticality, @IsOverrideCalculation, @ProductivityFactor, @PermanentRatio, @RotationalRatio, @OffshoreRatio, @Remarks)";
       
        using (SqlCommand cmd = new SqlCommand(query1))
        {
            cmd.Connection = con;

            cmd.Parameters.AddWithValue("@ProjectInformationId_FK", int.TryParse(ProjectInformationIdtxt.Text, out r));
            cmd.Parameters.AddWithValue("@PastExperienceInDomain", int.TryParse(PastExperienceDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@PastExperienceInTechnology", int.TryParse(PastTechnologyDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@MultipleTechnologiesOrPlatforms", int.TryParse(MultipleDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@ClarityOfRequirements", int.TryParse(CompletenessDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@AverageAgeOfApplication", int.TryParse(AverageAgeDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@QualityOfApplication", int.TryParse(QualityDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@ResourceCapability", int.TryParse(ResourceDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@UsageOfProductivityTools", int.TryParse(UsageDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@InterdependenceWithOtherModules", int.TryParse(InterdependenceDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@ComplexityInDatabaseChanges", int.TryParse(ComplexityDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@TestEnvironmentStability", int.TryParse(TestEnvironmentDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@ComplexityOfTesting", int.TryParse(ComplexityTestingDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@BusinessCriticality", int.TryParse(CriticalityDropDown.SelectedItem.Value, out r));
            cmd.Parameters.AddWithValue("@IsOverrideCalculation", overRide);
            cmd.Parameters.AddWithValue("@ProductivityFactor", decimal.TryParse(ProdFactorTextBox.Text, out r1));
            cmd.Parameters.AddWithValue("@PermanentRatio", int.TryParse(PermanentTextBox.Text, out r));
            cmd.Parameters.AddWithValue("@RotationalRatio", int.TryParse(RotationalTextBox.Text, out r));
            cmd.Parameters.AddWithValue("@OffshoreRatio", int.TryParse(OffshoreTextBox.Text, out r));
            cmd.Parameters.AddWithValue("@Remarks", RemarksTextBox.Text);

            cmd.ExecuteNonQuery();

            lblmsg.Text = "Project Productivity - Saved Successfully";
        }
    }

But I'm getting this error:但我收到了这个错误:

错误

Can anyone help with this?有人能帮忙吗?

Thank you in advance.先感谢您。

what us the purpose of the inline subquery我们内联子查询的目的是什么

((SELECT ProjectInformationId_PK FROM Project_Information WHERE ProjectInformationId_PK = @ProjectInformationId_FK)

I believe it is redundant,you are assigning the same value to ProjectInformationId_FK again, so you can omit it and user the following我认为这是多余的,您再次为 ProjectInformationId_FK 分配相同的值,因此您可以省略它并使用以下内容

values ( @ProjectInformationId_FK, @PastExperienceInDomain, @PastExperienceInTechnology, @MultipleTechnologiesOrPlatforms, @ClarityOfRequirements, @AverageAgeOfApplication, @QualityOfApplication, @ResourceCapability, @UsageOfProductivityTools, @InterdependenceWithOtherModules, @ComplexityInDatabaseChanges, @TestEnvironmentStability, @ComplexityOfTesting, @BusinessCriticality, @IsOverrideCalculation, @ProductivityFactor, @PermanentRatio, @RotationalRatio, @OffshoreRatio, @Remarks)";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 试图使用asp.net和c#将数据插入数据库 - trying to insert data into a database using asp.net and c# 当我尝试删除数据库条目时,使用 C# 的 ASP.NET MVC 中的外键问题 - Foreign key problem in ASP.NET MVC using C# when I try to delete a database entry 如何使用 c# asp.net 将数据库中的数据插入表中? - How to insert data from database into a table using c# asp.net? 将int值插入ASP.NET MVC和C#中的外键 - Insert an int value into a foreign key in ASP.NET MVC & C# 使用具有外键的表将数据从asp.net页面插入到我的数据库中 - insert data from asp.net page to my database with tables which have foreign key ASP.NET Core MVC & C#:使用实体框架将数据插入数据库 - ASP.NET Core MVC & C# : insert data into database using Entity Framework 在Asp.net C#中使用jQuery Ajax插入数据[数据库MySQL] - Insert Data Using jQuery Ajax in Asp.net C# [Database MySQL] 在ASP.NET C#中使用jquery ajax将数据插入sql数据库 - insert data into sql database using jquery ajax in asp.net c# C#如何使用ASP.NET MVC中的实体框架将父数据和子数据插入/更新到sql数据库 - C# How to insert/update the parent and child data to the sql database using entity framework in asp.net mvc 如何使用 C# 在 ASP.NET Core MVC 中创建网格,在其中插入记录并将整个数据保存到数据库中? - How to create a grid in ASP.NET Core MVC using C# in which we insert the record and save the whole data to the database?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM