
02/11/2008, 22:40
|
| | Fecha de Ingreso: febrero-2006
Mensajes: 52
Antigüedad: 19 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 |