如何实现呢?顺便问一下,判定主键重复的方式,除了手动遍历全表或直接Update后读取出错信息外,有没有更好的方法?

解决方案 »

  1.   

    Private Sub Command1_Click()
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Dim fld As ADODB.Field
        ...
        Set rs = cn.Execute("SELECT * FROM ...")
        For Each fld In rs.Fields
            Debug.Print fld.Name, (fld.Attributes And adParamNullable) <> 0
        Next
    End Sub
      

  2.   

    如果单用户操着,可以先用SELECT COUNT(*)判断主键是否存在,用户只能先更新或插入再进行错误判断。