Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在插入sql数据库之前检查现有记录_C#_Asp.net - Fatal编程技术网

C# 在插入sql数据库之前检查现有记录

C# 在插入sql数据库之前检查现有记录,c#,asp.net,C#,Asp.net,我创建了一个简单的asp.net表单,允许用户查看培训日期列表并注册该日期,他们手动输入姓名和员工ID我不想允许dulpicate员工ID,所以我需要弄清楚如何在c上检查此项 代码: 这样,您的查询将仅在不存在的情况下插入数据 这样,您的查询将仅在不存在的情况下插入数据 我从未见过从管理pp的人员中选择1,其中pp.employeeid=@Val4。。。。它的作用是什么?在表“VVV”中插入以下内容:“xxxxx”,但仅当“ccccc”且指定的员工idit没有记录时,idit可以是2,3,4,这

我创建了一个简单的asp.net表单,允许用户查看培训日期列表并注册该日期,他们手动输入姓名和员工ID我不想允许dulpicate员工ID,所以我需要弄清楚如何在c上检查此项

代码:

这样,您的查询将仅在不存在的情况下插入数据

这样,您的查询将仅在不存在的情况下插入数据



我从未见过从管理pp的人员中选择1,其中pp.employeeid=@Val4。。。。它的作用是什么?在表“VVV”中插入以下内容:“xxxxx”,但仅当“ccccc”且指定的员工idit没有记录时,idit可以是2,3,4,这无关紧要:选择一些内容您的意思是选择TOP 1,并且您不应该选择一个id来检查它不在表中吗?如果该行存在,它将返回文本值1。没别的了。如果表是在雇员ID上建立索引的,那么这是最佳的,因为查询将仅由索引来满足。可以返回employeeid,但也不能接触表数据。但结果并不重要,只是子查询的结果集中存在一行或多行。我从未见过从Persontaining pp中选择1,其中pp.employeeid=@Val4。。。。它的作用是什么?在表“VVV”中插入以下内容:“xxxxx”,但仅当“ccccc”且指定的员工idit没有记录时,idit可以是2,3,4,这无关紧要:选择一些内容您的意思是选择TOP 1,并且您不应该选择一个id来检查它不在表中吗?如果该行存在,它将返回文本值1。没别的了。如果表是在雇员ID上建立索引的,那么这是最佳的,因为查询将仅由索引来满足。可以返回employeeid,但也不能接触表数据。但是结果并不重要,只是子查询的结果集中存在一行或多行。是否需要将每个员工ID限制为一个traininf会话?或者每个日期一个,每个会话一个,等等?只需在整个表中限制一个唯一的员工id看起来Royi的答案就是这样的。虽然不是针对检查约束方法的单独验证查询,但它应该命中InsertInfo中的错误通知处理程序。为什么不在数据库中设置唯一约束。如果他们试图以不希望的方式插入数据,这将导致异常。然后,您可以在应用程序中捕获sql异常,以便正常处理。如何在sql server management studio 2008中添加此约束?是否需要将其限制为每个员工ID一个traininf会话?或者每个日期一个,每个会话一个,等等?只需在整个表中限制一个唯一的员工id看起来Royi的答案就是这样的。虽然不是针对检查约束方法的单独验证查询,但它应该命中InsertInfo中的错误通知处理程序。为什么不在数据库中设置唯一约束。如果他们试图以不希望的方式插入数据,这将导致异常。然后,您可以在应用程序中捕获sql异常,以便正常处理。如何在sql server management studio 2008中添加此约束?
 public string GetConnectionString()
    {
        //sets the connection string from your web config file "ConnString" is the name of your Connection String
        return System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;


    }

    private void checkContraint()
    {

        SqlConnection conn = new SqlConnection(GetConnectionString());
        string sql = "Select "; //NEED HELP HERE

    }


    private void InsertInfo()
    {
        var dateSelected = dpDate.SelectedItem.Value;
        SqlConnection conn = new SqlConnection(GetConnectionString());

        string sql = "INSERT INTO personTraining (name,department,title,employeeid,training_id, training,trainingDate,trainingHour, trainingSession)SELECT @Val1b+','+@Val1,@Val2,@Val3,@Val4,training_id,training,trainingDate,trainingHour,trainingSession FROM tbl_training WHERE  training_id =@training_id ";


        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);


            cmd.Parameters.AddWithValue("@Val1", txtName.Text);
            cmd.Parameters.AddWithValue("@Val1b", txtLname.Text);
            cmd.Parameters.AddWithValue("@Val2", txtDept.Text);
            cmd.Parameters.AddWithValue("@Val3", txtTitle.Text);
            cmd.Parameters.AddWithValue("@Val4", txtEmployeeID.Text);

            //Parameter to pass for the select statement
            cmd.Parameters.AddWithValue("@training_id", dateSelected);
            cmd.CommandType = CommandType.Text;
            //cmd.ExecuteNonQuery();

            int rowsAffected = cmd.ExecuteNonQuery();
            if (rowsAffected == 1)
            {

                //Success notification            // Sends user to redirect page

                Response.Redirect(Button1.CommandArgument.ToString());
                ClearForm();
            }
            else
            {
                //Error notification      

            }  
        }
        catch (System.Data.SqlClient.SqlException ex)
        {
            string msg = "Insert Error:";
            msg += ex.Message;
            throw new Exception(msg);

        }
        finally
        {
            conn.Close();
        }
    } 

    protected void Button1_Click(object sender, EventArgs e)
    {

        checkContraint();
        InsertInfo();
 string sql = "INSERT INTO personTraining (name,department,title,employeeid,training_id, training,trainingDate,trainingHour, trainingSession)SELECT @Val1b+','+@Val1,@Val2,@Val3,@Val4,training_id,training,trainingDate,trainingHour,trainingSession FROM tbl_training WHERE  training_id =@training_id and not exists (select 1 from personTraining pp where pp .employeeid=@Val4) ";