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

在Visual Studio2012中编写删除查询

詹钊
2023-03-14

我正在尝试删除html" target="_blank">数据库中的一条记录,该记录将更新两个不同表中的值。我有一个学生桌和一个注册桌。如果删除了学生ID(和其他信息),则应该自动删除学生表和注册表中学生ID相同的信息。如果我只是从Student表中删除行,sql会尝试工作,但它说它不能工作,因为该值也包含在Enroll表中。这里是我有的整个删除按钮的代码。我总是收到一条错误消息,说要指定要删除的表,所以我猜语法是错误的,我是如何添加第二个表名的。有人知道我需要做什么吗?此外,我还想添加一条消息,询问用户他们是否确定要删除该记录,我将如何做?谢谢!

Private Sub按钮1_Click(sender作为Object,e作为EventArgs)处理按钮1。单击Dim cmd As OLEDB.OLEDBCommand=Nothing Dim conn As OLEDB.OLEDBConnection=Nothing

    Try
        conn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\csc420\UniversityClassDatabase.accdb")
        cmd = New OleDb.OleDbCommand(
            "Delete  From Student,Enroll  where  [Student.stID] = [Enroll.stID] AND [Student.stID]=@sid", conn)
        cmd.CommandType = CommandType.Text

        conn.Open()
        cmd.Parameters.AddWithValue("@sid", stID.Text)


        cmd.ExecuteNonQuery()
        MsgBox("Record Deleted")


    Catch ex As Exception
        lblresult.Text = ex.Message()
    Finally
        conn.Close()

    End Try
End Sub

共有1个答案

卫浩瀚
2023-03-14
delete from student s where s.stID = @sid; 
delete from enroll e where e.stID = @sid;

试试那个。您基本上只需要分别删除每个表,但如果您以分号结束delete命令,并将其包含在一个命令中,它将像单个delete一样运行。

 类似资料:
  • 我想写一个可以返回Future而不是void start的方法 另外,我想在删除文件时应用锁。 public static void start(Vertx Vertx)引发异常{Vertx.settimer(timeInterval,id->{File File=新文件(config.getStringProperty(“File.upload.directory”,null).get());

  • 我有一个sql查询: 这就产生了: Hibernate:选择this_.pName为y0_,this_.kNum为y1_,count(distinct this_.agentg)为y2_from Test_CPView this_where(低(this_.pName+“~”+this_.kNum)like?或低(this_.pName+“~”+this_.kNum)like?或低(this_.p

  • 问题内容: 当我尝试从数据库中删除条目时,使用 然后我可以执行以下操作: 1)如果该行存在于数据库中,则将执行两个SQL查询:一个选择,然后一个删除 2)如果数据库中不存在该行,则仅执行选择查询 但是同样,更新不是这种情况。无论是否存在数据库行,都只会执行更新查询。 请让我知道为什么这种行为用于删除操作。这不是性能问题,因为遇到了两个查询而不是一个查询? 编辑: 我正在使用hibernate3.2

  • 以下示例将演示如何使用Delte查询,在DBUtils的帮助下删除记录。 我们将删除表中的一条记录。 语法 其中, deleteQuery − 删除包含占位符的查询。 queryRunner − 对象删除数据库中的员工对象。 为了理解上述与DBUtils相关的概念,我们编写一个将运行更新查询的示例。创建一个示例应用程序。 更新在DBUtils入门应用中创建的文件。 编译并运行应用程序,如下所述。

  • 问题内容: 我正在尝试从名为user_enrole的表中删除所有记录。 我认为查询的语法没有错,但这给了我错误提示 #1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’* FROM user_enrole’附近使用正确的语法 我已经仔细检查了我的语法,但我无法找出问题出在哪里,请有人指出。 是由于该表与使用表之间的关系而发生的还是什么? 问题答案: 您无需在删

  • 问题内容: 我对Oracle SQL查询并不十分了解,因此在删除表中的某些行时遇到了一个问题,该行必须满足一个约束,该约束包括另一个(联接)表的字段。换句话说,我想编写一个查询来删除包括JOIN的行。 在我的情况下,我有一个表和另一个连接在字段上的表。我想从大于或等于200的行中删除行,并且它们引用的产品具有名称“ Mark”(名称是“产品”中的一个字段)。 我想首先被告知Oracle中的Dele