首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

addnew 为啥不能插入新记录

2012-11-06 
addnew 为何不能插入新记录Dim Cn As New ADODB.ConnectionDim Rs As New ADODB.RecordsetDim cmd As New

addnew 为何不能插入新记录
Dim Cn As New ADODB.Connection
  Dim Rs As New ADODB.Recordset
  Dim cmd As New ADODB.Command
  Dim strr As String, I As Integer, CNT As Integer
  strr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=E:\WorkProject\VBProject\AccessOP\05.mdb"
   
  Cn.ConnectionString = strr
  Cn.ConnectionTimeout = 30
  Cn.CursorLocation = adUseClient
  Cn.Open strr
  Nowms ("打开时间:")
  CNT = 0
  For I = 1 To RNDREC
  strr = Text1.Text & CStr(I) & Chr(Int((90 - 65 + 1) * Rnd + 65))
  Rs.Open "select * from table1 where COM='" & strr & "'", Cn, adOpenStatic, adLockBatchOptimistic
  If Rs.RecordCount = 0 Then
  'Rs.AddNew
  'Rs.Fields(0).Value = strr
  'Rs.Fields(1).Value = Left(strr, 2)
  'Rs.Fields(2).Value = Right(strr, 2)
  'Rs.Fields(3).Value = Mid(strr, 1, 5)
  'Rs.Update
  cmd.ActiveConnection = Cn
  cmd.CommandText = "insert into table1(com,t1,t2,t3) values('" & strr _
  & "' , '" & Left(strr, 2) & "' , '" & Right(strr, 2) & "' , '" & Mid(strr, 1, 5) & "')"
  cmd.CommandType = adCmdText
  cmd.Execute
   
  CNT = CNT + 1
  End If
  Rs.Close
  Next

我用VB6.0和access2007开发平台。
现在发现如果用rs.addnew方法不能实现记录插入,而采用cmd.execute方法后却可以。请教高手们其中的原因?


[解决办法]
Rs.Open "select * from table1 where COM='" & strr & "'", Cn, adOpenDynamic, adLockOptimistic

热点排行