Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2008, 22:40
juanjoselive
 
Fecha de Ingreso: febrero-2006
Mensajes: 52
Antigüedad: 18 años, 2 meses
Puntos: 0
problema con el recorset no puedo guardar ni borrar...

hola compañeros etos dprogramando usando mysql server 5.0 con visual basic 6
aca esta el codigo fuente del modulo con el mando a llamar a la base de datos


Global cn As ADODB.Connection 'base de datos actual
Global RecSQL As ADODB.Recordset
Public RecBD As New ADODB.Recordset
Public servidor As String
Public usuario As String
Public base As String
Public pass As String

Public Function Conectar()
Set cn = New ADODB.Connection
cn.CursorLocation = adUseClient
cn.ConnectionString = "driver={MySQL ODBC 5.1 Driver};server=Servidorcasa;uid=root;pwd=123;datab ase=registrobd;option=3;connection="
cn.Open
Conectar = True
'MsgBox "Conexión establecida!!!", vbExclamation, "Conexión"

If Err.Number > 0 Then
MsgBox Err.Description, vbCritical, "Error al conectar al servidor de Base de Datos" & Err.Number
Exit Function
End
End If
End Function

ahora bien cuando intento grabar, eliminar o actualizar registro me sale un error
dice que el "recorset actual no permite actualizaciones puede ser una limitacion el proveedor o del tipo de bloqueo seleccionado."

el codigo en el formulario es:

al inicio del formulario mando a llamar a la tabla

Private Sub Form_Load()
Call Conectar

Set rsperiodo = New ADODB.Recordset
sql = "select *from periodo"
rsperiodo.Open sql, cn, adOpenStatic, adLockOptimistic


Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case Is = 1:
Call desactivarcontrol
Unload Me
frm_periodos.Show

Text2.Enabled = True


Call activarcontrol

Text2.SetFocus
Toolbar1.Buttons(2).Enabled = True

Case Is = 2:
'verificar que los campos esten llenos
If Text2.Text = "" Then
MsgBox "Debe rellenar el campo", vbCritical, "Error"
Text2.SetFocus

Else

'pasa los datos a los campos
rsperiodo.Fields("descripcion") = Text2.Text
rsperiodo.Update

Set rsperiodo = Nothing

MsgBox (" Datos guardaros satisfactoriamente "), vbOKOnly
Text1.Text = ""
Text2.Text = ""
Call desactivarcontrol

' End If
End If




Case Is = 3:
Dim a As Integer
a = MsgBox("Desea eleminar el registro", vbQuestion + vbYesNo, "Sistema de Seguridad")
If a = vbYes Then

rsperiodo.Delete


rsperiodo.MoveNext
frm_periodos.Show

End If

gracias amigos se que falta codigo pero esa es la parte dond lo hago