English 中文(简体)
删除数据库中的错误
原标题:error while deleting from database
  • 时间:2009-09-27 17:43:02
  •  标签:

我有2个桌子和机器。

机器组具有价值:

MachinegroupID
MachineGroupName
MAchineGroupDesc

机器具有价值:

MachineGroupID (FK)
MachineID
MachineName Machinedesc

现在,我想要删除机组,但它给我留下了一个错误,因为它已经具有价值。

因此,我想删除那些没有机器的数值,如果机器在某个特定机器组中预设,则提供错误信息。

我尝试了问询,但没有工作。

 System.Data.SqlClient.SqlConnection dataConnection = new SqlConnection();
            dataConnection.ConnectionString =
                @"Data Source=JAGMIT-PCSQLEXPRESS;Initial Catalog=SumooHAgentDB;Integrated Security=True";

            System.Data.SqlClient.SqlCommand dataCommand = new SqlCommand();
            dataCommand.Connection = dataConnection;
            long MachineGroupID = Convert.ToInt64(Request.QueryString["node"]); 
            //tell the compiler and database that we re using parameters (thus the @first, @last, @nick)  
            **dataCommand.CommandText = ("Delete from [MachineGroups] where  [MachineGroupID]=@MachineGroupID not in ( select distinct MachineGroupId  from Machines )");**

            //add our parameters to our command object  
            dataCommand.Parameters.AddWithValue("@MachineGroupName", MachineGroupName);
            dataCommand.Parameters.AddWithValue("@MachineGroupDesc", MachineGroupDesc);
            dataCommand.Parameters.AddWithValue("@TimeAdded", TimeAdded);
            dataCommand.Parameters.AddWithValue("@MachineGroupID", MachineGroupID);
            dataConnection.Open();

            dataCommand.ExecuteNonQuery();
            dataConnection.Close();

这里,我试图删除某个特定机器。 ......

如果有另一种方式,请说明。

最佳回答
Delete from MachineGroups 
where MachineGroupId not in 
    (select distinct MachineGroupId  from Machines);
问题回答

我没有尝试过这一部分,但应该给你一个想法。

Delete from MachineGroups 
WHERE NOT EXISTS ( SELECT TOP 1 MachineID FROM Machines 
WHERE Machines.MachineGroupID= MachineGroups.MachineGroupID )




相关问题
热门标签