'     rs.Open "exec add_employee @e_find_id='" & txtPerson(0).Text & "',@e_id='" & txtPerson(0).Text & "',@e_name='" & txtPerson(1).Text & "',@e_sex='" & txtPerson(2).Text & "',@e_birth='" & txtPerson(3).Text & "',@e_dept='" & txtPerson(4).Text & "',@e_duty='" & txtPerson(5).Text & "',@e_study='" & txtPerson(6).Text & "',@e_gov='" & txtPerson(7).Text & "',@e_phone='" & txtPerson(8).Text & "',@e_memo='" & txtPerson(9).Text & "'", con, 1, 3
就是想问这一条的前面exec 和add 是怎么意思呢保存时提示错误
提示未找到存储过程  "add_employee"数据库中名为tboa_employeePrivate Sub cmdEsave_Click()
  For i = 0 To txtPerson.Count - 2
  If txtPerson(i).Text = "" Then MsgBox "除备注信息可以为空,其于均不能为空!", vbInformation: Exit Sub
  Next i
  If Me.cmdEadd.Tag = "添加" Then
     Set con = New ADODB.Connection
     con.Open PublicStr
     Set rs1 = New ADODB.Recordset
'     sql = "exec add_employee @e_id='" & txtPerson(0).Text & "',@e_name='" & txtPerson(1).Text & "',@e_sex='" & txtPerson(2).Text & "',@e_birth='" & txtPerson(3).Text & "',@e_dept='" & txtPerson(4).Text & "',@e_duty='" & txtPerson(5).Text & "',@e_study='" & txtPerson(6).Text & "',@e_gov='" & txtPerson(7).Text & "',@e_phone='" & txtPerson(8).Text & "',@e_memo='" & txtPerson(9).Text & "'"
'     rs1.Open sql, con, 1, 3 '
            sql = "select * from tboa_employee where  e_id ='" & txtPerson(0).Text & "'"
            rs1.Open sql, con, 3, 3
            If rs1.RecordCount > 0 Then
            MsgBox "内容重复", 0, "提示"
            Else
                rs1.AddNew
                rs1!e_id = txtPerson(0).Text
                rs1!e_name = txtPerson(1).Text
                rs1!e_sex = txtPerson(2).Text
                rs1!e_birth = txtPerson(3).Text
                rs1!e_dept = txtPerson(4).Text
                rs1!e_duty = txtPerson(5).Text
                rs1!e_study = txtPerson(6).Text
                rs1!e_gov = txtPerson(7).Text
                rs1!e_phone = txtPerson(8).Text
                rs1!e_memo = txtPerson(9).Text
                rs1.Update
     con.Close
     MsgBox "数据添加成功!"
     Me.cmdEadd.Tag = ""
    End If
  End If  If Me.cmdEupdate.Tag = "修改" Then
     Set con = New ADODB.Connection
     con.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_OA"
     Set rs = New ADODB.Recordset
'     rs.Open "exec update_employee @e_find_id='" & txtPerson(0).Text & "',@e_id='" & txtPerson(0).Text & "',@e_name='" & txtPerson(1).Text & "',@e_sex='" & txtPerson(2).Text & "',@e_birth='" & txtPerson(3).Text & "',@e_dept='" & txtPerson(4).Text & "',@e_duty='" & txtPerson(5).Text & "',@e_study='" & txtPerson(6).Text & "',@e_gov='" & txtPerson(7).Text & "',@e_phone='" & txtPerson(8).Text & "',@e_memo='" & txtPerson(9).Text & "'", con, 1, 3
     
     
     con.Close
     MsgBox "数据更改成功!"
     Me.cmdEupdate.Tag = ""
  End If
  adoEmployee.Refresh
  Me.cmdEadd.Enabled = True
  Me.cmdEupdate.Enabled = True
  Me.cmdEdel.Enabled = True
  Me.cmdEsave.Enabled = False
  For i = 0 To txtPerson.Count - 1
      txtPerson(i).Text = ""
  Next i
  For i = 0 To txtPerson.Count - 1
      txtPerson(i).Enabled = False
  Next i
  cmdEadd.SetFocus
  DataGrid1.Visible = False
End Sub

解决方案 »

  1.   

    不知道lz这个工程从哪整来的,exec 执行存储过程,add和update在这里没有意义,add_employee和update_employee是存储过程名,貌似你的搬来的数据库没有找到
      

  2.   

    数据库有,不过他的表名是tboa_employee  在存的时间就有这个问题存储过程是不是要设别的怎么东东呢,
      

  3.   

    tboa_employee 是表吧,表不是存储过程,存储过程要在数据库中建立(也可以通过vb代码操作数据库建立),lz学习一下存储过程吧