Ayuda Con resgitro

Iniciado por blood_brother, 15 Octubre 2009, 16:30 PM

0 Miembros y 1 Visitante están viendo este tema.

ssccaann43 ©

Cita de: seba123neo en 17 Octubre 2009, 01:43 AM
Cita de: Mr. Crowley en 16 Octubre 2009, 16:07 PM


Private Sub psGuardar_Usuario()
Dim rs As ADODB.Recordset
On Error GoTo Error_Handler
Set rs = New ADODB.Recordset
Call modMySQL.psConectar
With rs
.ActiveConnection = modMySQL.conConexion
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic

.Open "INSERT INTO tabla(campos) VALUES(valores)"
If .State Then .Close
If modMySQL.conConexion.State Then modMySQL.conConexion.Close
End With
Set rs = Nothing
Exit Sub
Error_Handler:
MsgBox Err.Description & " (" & Err.Number & ").", vbCritical
End Sub



sigue estando mal, con un recordset no se insertan registros, es con un objeto command.

saludos.

Seba con un Recorset si se puede insertar registros...!   :silbar:
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

ssccaann43 ©

#11
Luego de aperturar mi conex, yo creo esto en un módulo .bas

Código (vb) [Seleccionar]

Public Sub OPENTABLA(Xrecordset As ADODB.Recordset, xselect As String, NWConnection As ADODB.Connection, tipocursor As Integer, Optional Bloqueo As Integer)

If Xrecordset.State = adStateOpen Then Xrecordset.Close
 Xrecordset.ActiveConnection = NWConnection
 Xrecordset.CursorType = adOpenDynamic
 Xrecordset.CursorLocation = tipocursor
 If Bloqueo = 2 Then
    Xrecordset.LockType = adLockPessimistic
 Else
    Xrecordset.LockType = adLockOptimistic
 End If
 Xrecordset.Open xselect
 Exit Sub

End Sub



Seguido de esto, puedo hacer la inserción de datos así...



'cnn esta declarada como mi Conex.
Dim RSTInserto As New ADODB.Recorset
OPENTABLA RSTInserto, "INSERT INTO tabla(campos) VALUES(valores)"", cnn, 3



Y eso funciona sin problemas, de hecho mis aplicaciones lo llevan...!
:silbar:
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

seba123neo

Cita de: ssccaann43 en 27 Octubre 2009, 20:40 PM
Luego de aperturar mi conex, yo creo esto en un módulo .bas

Código (vb) [Seleccionar]

Public Sub OPENTABLA(Xrecordset As ADODB.Recordset, xselect As String, NWConnection As ADODB.Connection, tipocursor As Integer, Optional Bloqueo As Integer)

If Xrecordset.State = adStateOpen Then Xrecordset.Close
 Xrecordset.ActiveConnection = NWConnection
 Xrecordset.CursorType = adOpenDynamic
 Xrecordset.CursorLocation = tipocursor
 If Bloqueo = 2 Then
    Xrecordset.LockType = adLockPessimistic
 Else
    Xrecordset.LockType = adLockOptimistic
 End If
 Xrecordset.Open xselect
 Exit Sub

End Sub



Seguido de esto, puedo hacer la inserción de datos así...



'cnn esta declarada como mi Conex.
Dim RSTInserto As New ADODB.Recorset
OPENTABLA RSTInserto, "INSERT INTO tabla(campos) VALUES(valores)"", cnn, 3



Y eso funciona sin problemas, de hecho mis aplicaciones lo llevan...!
:silbar:

si, pero que funcione no quiere decir que sea optimo asi, es mas nunca he visto un programa que lo haga de esa forma, siempre lo vi con comandos o con el .Execute de la conexion.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

ssccaann43 ©

Funciona y es óptimo.

Claro, que existen otras formas de hacerlo, Si. Pero creeme que está es una muy buena entre esas formas de hacerlo.

De igual manera, lo importante es aportar nuestros conocimientos. Así que cualquier duda, continuamos estando a la orden.
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"