当前位置:编程学习 > VB >>

>>>>>>>请教---无法保存记录<<<<<<<

Private Sub Form_Load()
  DTP1.Value = Date '默认当天日期
Set cn = New ADODB.Connection
        cn.CursorLocation = adUseClient
          cn.Open "Driver={sql server};server=192.168.0.1;database=new;uid=jean;pwd=jean"
Set rs = New ADODB.Recordset

Set rs.ActiveConnection = cn

rs.LockType = adLockOptimistic

rs.CursorType = adOpenDynamic

rs.Open "select 产品代码 from 物料基本资料", cn, adOpenForwardOnly, adLockReadOnly  

  Combo1.Clear
  Do While Not rs.EOF
        Combo1.AddItem rs.Fields(0)
        Combo1.ItemData(Combo1.ListCount - 1) = rs.Fields(0)
      
        rs.MoveNext
  Loop
  Combo1.ListIndex = -1

End Sub
--------------------------------------------------------------
Private Sub Combo1_Click()
                                      '-----赋值
    Dim strsql  As String
    Dim rst     As Recordset
    
    strsql = "select * from 物料基本资料 where 产品代码 = '" & Replace(Combo1.Text, "'", "''") & "'"
    
    Set rst = GetRecordset(strsql)          ' 执行Sql并返回结果集
    
    If rst.RecordCount > 0 Then
        Text2.Text = rst.Fields("产品编码").Value & vbNullString
        Text3.Text = rst.Fields("产品名称").Value & vbNullString
        Text4.Text = rst.Fields("零件名称").Value & vbNullString
    End If
    
End Sub

保存按钮-----------------------------------------------
Private Sub Cmd_add_Click()
On Error Resume Next
rs.Open "select * from 装配入数", cn, 1, 
    rs.AddNew
    rs.Fields(1).Value = Trim(Combo1.Text)
    rs.Fields(2).Value = Trim(Text2.Text)
    rs.Fields(3).Value = Trim(Text3.Text)
    rs.Fields(4).Value = Trim(Text4.Text)
    rs.Fields(5).Value = Trim(Text5.Text)
    rs.Fields(6).Value = Trim(Combo2.Text)
    rs.Fields(7).Value = Trim(Text7.Text)
    rs.Fields(8).Value = CDate(Trim(DTP1.Value))
    rs.Fields(9).Value = Trim(Text9.Text)
    rs.Fields(10).Value = Trim(Text10.Text)
    rs.Fields(11).Value = Trim(Text11.Text)
    rs.Update
    Set rs = Nothing
    MsgBox "数据已保存!"
    Unload Me
End Sub

给text2、text3、text4赋值后无法保存记录
请问?

--------------------编程问答-------------------- 用这种方法保存试试:
conn.execute "insert into tablename(...) values(...)" --------------------编程问答-------------------- On Error Resume Next 
去掉 就知道哪里有问题了 --------------------编程问答-------------------- 去掉 ON ERROR...
  提示"对象打开、不允许操作" ??? --------------------编程问答-------------------- if Rs.State = adStateOpen then
    Rs.close
end if

OK了 ~~

  不过还是得谢谢你们

不知道咋给分
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,