当前位置: 首页 > 知识库问答 >
问题:

在插入SQL服务器之前检查重复条目[重复]

韩涵衍
2023-03-14

我只是想插入一些条目到SQL服务器数据库。但是我需要在插入之前检查一下。关键点在于,该表包含两列idname。如果条目与SQL服务器数据库中的条目完全相同,则显示的代码应检查这两列,并防止插入该条目。

这意味着数据表的两列与将要插入的两个条目相同。我检查了论坛,但找不到任何有用的解决方案,我的项目。

private void button4_Click(object sender, EventArgs e)
{
      try
      {
           objConnection.Open();
           string query = "INSERT INTO TutorTable(Tid, Tname) VALUES(N'" + tidTextBox.Text + "','" + tnameTextBox.Text + "')";

           SqlDataAdapter SDA = new SqlDataAdapter(query, objConnection);

           SDA.SelectCommand.ExecuteNonQuery();

           objConnection.Close();
           MessageBox.Show("ok!");
       }
       catch(Exception ex)
       {
           MessageBox.Show("error");
       }

       objConnection.Close();      
}

共有1个答案

景永望
2023-03-14

这篇文章解释了这个问题的解决方案。

基本上,您可以首先使用以下方法检查特定行的存在:

IF NOT EXIST( SELECT 1 FROM TutorTable WHERE Tid = @tid)
BEGIN
    <your insert statement...>
END

(这也使用参数,而不是rene建议的直接值)

然后,您可以检查ExecteNonQuery的返回值,以查看实际插入了多少行。

 类似资料:
  • 问题内容: 我只想在SQL Server数据库中插入一些条目。但是我需要在插入之前进行检查。关键是该表包括两列和。如果条目与SQL Server数据库中的条目完全相同,则所提供的代码应检查这两列,并防止插入该条目。 这意味着数据表的两列与将要插入的两个条目相同。我检查了论坛,但找不到适合我项目的任何有用的解决方案。 问题答案: 本质上,您可以先使用以下命令检查特定行的存在: (这也使用了参数,而不

  • 因此,我一直在做一些研究,我需要编写一个语句,将唯一的客户端名称插入到服务器上的表中。然而,数据库的默认标准中已经有数千个客户端,在插入新客户端时,我们需要在尝试将其添加到系统之前检查它们是否已经存在。 我的问题是,最好/最快的方法是什么?在clients表上运行一个简单的select查询(按ASC排序),并对结果进行二进制搜索或其他操作,或者只执行类似于下面的SQL查询,会更好吗? 这是一个缓慢

  • 问题内容: 在插入数据库之前,我正在使用以下代码检查重复项。对我来说,重复的只考虑重复时,,,,和比赛。 每个值都是在执行此检查之前定义的,由于项目已经存在,所以我的结果总是返回。我转储了“ dupesql”并将命令复制/粘贴到phpmyadmin中,该计数返回0。 问题答案: 您要执行以下操作: 有关更多信息,请参见此处。

  • 问题内容: 我需要进行插入,但是仅当 例如不存在类似记录时: INSERT INTO请求(’user_id’,’subject’,’text’,’time’)值(56,’test’,’test 1234’,6516516) 但要检查另一个记录中是否存在相同的“主题”和“文本”,以: 不插入任何东西 更新“时间”和“ user_id” 对于这两种情况,我都需要使用sql,因为目前还不确定我将使用什么

  • 问题内容: SQL查找重复条目(在组内) 我有一个小问题,我不确定修复它的最佳方法是什么,因为我对数据库(Oracle)本身的访问有限。在我们的“ EVENT”表中,我们大约有16万个条目,每个EVENT都有一个GROUPID,而一个普通条目恰好有5行具有相同的GROUPID。由于一个错误,我们目前有几个重复的条目(重复,所以10行而不是5行,只是一个不同的EVENTID。这可能会更改,因此只是<

  • 问题内容: 我有一个喜欢的表,其中包含一些字段,例如login_id,driver_id(一个login_id可能有很多driver_id)。然后我正在使用批量更新,没有检查表中是否存在driver_id。 输入数据将是驱动程序ID的集合,如果相关的login_id已经存在相同的ID,则需要跳过驱动程序ID的插入。因此,将插入新的ID,而不会插入其他ID 我可以用mysql做些什么,表中需要做哪些