检查记录是否存在否则插入

use*_*463 0 database asp-classic

我正在尝试检查数据库中是否存在记录。如果存在则丢弃插入功能。如果记录不存在则插入。

我得到了相反的效果。

<% 
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")  
OBJdbConnection.open MM_Listings_STRING

'1. Check if contractor is linked
SQLQuery1 = "Select * FROM Agent_Contractor WHERE ContractorID = " &_
Request.Form("ContractorID") & " AND AgentID = " & Session("AgentID") 

Set Results = OBJdbConnection.Execute(SQLQuery1)

'1. If linked response write. 
If Results.EOF  Then
  Response.Write "Contractor Already Linked"
else
  '1. Insert
  SQLQuery3 = "INSERT INTO Agent_Contractor (" &_
  "ContractorID, " &_
  "AgentID) VALUES (" &_
  Request.Form("ContractorID") & ", " &_
  Session("AgentID") & ")"

  OBJdbConnection.Execute(SQLQuery3)    
  Response.Write "Contractor Linked successfully."
end if
%>
Run Code Online (Sandbox Code Playgroud)

Ste*_*ins 5

您的代码中的语句是向后的。

“如果 BOF 或 EOF 属性为 True,则没有当前记录。” 根据http://msdn.microsoft.com/en-us/library/office/ff821459(v=office.15).aspx

因此,如果 Results.EOF 为 true,则不会链接承包商。