Private CONN As New Connection
Private RS As New RecordsetPrivate Sub Form_Load()'ORACLE
CONN.Open "Provider=OraOLEDB.Oracle.1;Password=sa;Persist Security Info=True;" & _
"User ID=sa;Data Source=AAA"RS.CursorLocation = adUseClientRS.Open "SELECT * FROM TABLE2", CONN, adOpenDynamic, adLockOptimisticRS.AddNew
RS.Fields("DEMO") = "OK"
RS.UpdateDebug.Print "------------------"
Debug.Print RS.Fields("ID")
Debug.Print RS.AbsolutePositionEnd Sub'---------------------------------------------------------------------------
'TABLE2 结构 (ID,DEMO) ID (序列+触发器) 插入记录前自动递增 DEMO VARCHAR2(10)
'---------------------------------------------------------------------------'--------------------
'访问 ORACLE 结果
'--------------------
'4
'4换成SQL SERVER 'CONN.Open "Provider=SQLOLEDB.1;User ID=sa;Password =;Initial Catalog=AAA;Data;" & _
"Source=Server1"
'--------------------
'访问 SQL SERVER 结果
'--------------------
'0
'4
谁能解释这个问题。
Private RS As New RecordsetPrivate Sub Form_Load()'ORACLE
CONN.Open "Provider=OraOLEDB.Oracle.1;Password=sa;Persist Security Info=True;" & _
"User ID=sa;Data Source=AAA"RS.CursorLocation = adUseClientRS.Open "SELECT * FROM TABLE2", CONN, adOpenDynamic, adLockOptimisticRS.AddNew
RS.Fields("DEMO") = "OK"
RS.UpdateDebug.Print "------------------"
Debug.Print RS.Fields("ID")
Debug.Print RS.AbsolutePositionEnd Sub'---------------------------------------------------------------------------
'TABLE2 结构 (ID,DEMO) ID (序列+触发器) 插入记录前自动递增 DEMO VARCHAR2(10)
'---------------------------------------------------------------------------'--------------------
'访问 ORACLE 结果
'--------------------
'4
'4换成SQL SERVER 'CONN.Open "Provider=SQLOLEDB.1;User ID=sa;Password =;Initial Catalog=AAA;Data;" & _
"Source=Server1"
'--------------------
'访问 SQL SERVER 结果
'--------------------
'0
'4
谁能解释这个问题。
如果实在觉的迷惑,干脆用VB生成序列
RS.Update
后加句rs.requery
对ID是用触发器进行递增的?
建议还是用数据库自带的自增型字段.ID不一定非要和记录的行位置相同,很多时候你带条件查询出来的结果,ID都不可能和记录行位置相等.另外,有没有试过连续插入几条,看看每插入一条之后显示什么结果?