Programación General > Visual Basic 6.0 e inferiores
Como Editan Con Ado
(1/1)
UserCode:
Hola desarrolladores :hola:
Me gustaría conocer como editan en ADO, yo debo recurrir al control Adodc asi:
--- Código: Text --- Adodc1.CommandType = adCmdTextAdodc1.ConnectionString = conexionAdodc1.RecordSource = "Select * From agenda_tb Where nombre='" & txtNombre.Text & "'"Adodc1.RefreshAdodc1.RecordSource = "Select * From agenda_tb Where nombre='" & txtNombre.Text & "'"Adodc1.Recordset.Fields("nombre") = txtNombre.TextAdodc1.Recordset.Fields("telefhab") = txtTelefHab.TextAdodc1.Recordset.Fields("telefcel") = txtTelefCel.TextAdodc1.Recordset.Fields("correo") = txtEmail.TextAdodc1.Recordset.Fields("direccion") = txtDireccion.TextAdodc1.Recordset.UpdateAdodc1.RefreshMsgBox "El Registro ha sido Actualizado", vbInformation, "Control de Registros"
La variable "conexion" pues se trae toda la cadena de conexión para el control Adodc, pero fuera de Editar, el resto lo puedo manejar sin usar el control Ado, es decir, lo tengo solo por este código.
Con DAO uno solo colocaba con una variable Recordset: Rs.Edit y todos felices :rolleyes:
Pero con ADO, Rs.EditMode no conozco qué le faltaria para funcionar, porque yo puedo por ejemplo cambiar solo el codigo de conexión, pasando de DAO a ADO y el resto del código seguiría igual exceptuando el de Editar.
En el caso de no querer usar un control Adodc sino por variable Recordset, como Editan, como lo hacen :blink:
ArKaNtOs:
Set con = New ADODB.Connection
con.ConnectionString = "driver={MySQL ODBC 3.51 Driver};server=miserver;uid=usuario;pwd=mipass;database=midb;connection="
con.Open
Dim Consulta As String
Consulta = "SELECT * FROM Mi tabla"
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = con
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open Consulta
End With
'eso es lo que yo utilizo para conectarme :P
'y para editar solo basta hacer
rs.fields("micampo1")=mival1
rs.fields("micampo2")=mival2
rs.fields("micampo3")=mival3
rs.update
' y todo listo :P
UserCode:
y donde indicas cuál de tantos regisros es el que estas editando? ahi la SQL dice "Select * From Tabla" no hay Where :blink:
Pero ya veo, todo un proceso de conexion sea por control o variable para luego directamente meter los datos, ese codigo que puse ahí esta dentro de un If TexT=Rs!Campo Then el cual está dentro de un bucle While
--- Código: Text --- If Rs.RecordCount > 0 Then 'para que el .movefirst no de error Rs.MoveFirst While Not Rs.EOF If Text1=Rs("Campo") Then Aqui todo el codigo anterior de edicion con esto sé que estoy parado en ese registro Exit Sub End If Rs.MoveNext Wend Msgbox "Registro No Encontrado", vbInformation, "Aviso"
Si, muy semejante con lo mio del Adodc, no se diferencia mucho, ya vi, voy a ponerlo a variable y quito el control, me gusta más asi. :comp: :good:
ArKaNtOs:
eso que estas haciendo seria algo muy lento lo mejor es hacer un where en la consulta y listo, yo no lo puse porque simplemente asumi que lo harias :P :kicking:
UserCode:
Si, totalmente de acuerdo contigo, un Where y listo :good: :comp:
Navegación
Ir a la versión completa