You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB.NET的OLEDB中重新索引主键表并加载数据库

主键重建索引与数据库加载实现

实现逻辑

主键约束本身关联唯一索引,若需重建主键索引,需先删除原有主键约束,再重新创建约束(自动同步重建索引),最后执行数据加载。

修改后的完整代码

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    ' 重建主键索引:删除旧约束 → 新建约束
    Using cn As New OleDbConnection(connectionString)
        cn.Open()
        
        ' 处理约束不存在的情况,避免报错中断
        Try
            Dim dropConstraintCmd As New OleDbCommand("ALTER TABLE RPD DROP CONSTRAINT idxMyTable", cn)
            dropConstraintCmd.ExecuteNonQuery()
        Catch ex As OleDbException
            ' 约束不存在时跳过,不影响后续流程
        End Try
        
        ' 重新创建主键约束(自动重建关联索引)
        Dim createConstraintCmd As New OleDbCommand("ALTER TABLE RPD ADD CONSTRAINT idxMyTable PRIMARY KEY (PNM,NOD)", cn)
        createConstraintCmd.ExecuteNonQuery()
    End Using

    ' 执行数据库数据加载
    LoadData()
End Sub

关键注意点

  • 必须先删除原有主键约束,否则重复创建会抛出约束已存在的异常
  • 加入Try-Catch块是为了兼容首次运行(无旧约束)的场景
  • 主键约束重建后,其关联的唯一索引会自动同步重建,无需单独操作索引

内容的提问来源于stack exchange,提问作者roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:05:22