Visual Basic - Conexion no produce nada (ADO)

Life is soft - evento anual de software empresarial
 
Vista:

Conexion no produce nada (ADO)

Publicado por carlos (99 intervenciones) el 12/10/2005 00:47:27
hola muy buenas noches,

Podría alguien por favor indicarme qué podria estar mal aqui, realmente no da error, pero no guarda nada en la BD, que de hecho hice dos, una en SQL Server 7 y la otra en Access, tanto la BD como la Tabla se llaman igual, pero al intentar guardar un registro "supuestamente" lo guarda y muestra el aviso del MsgBox pero al ir a ver en la tabla, no hay nada y la ejecución no da ningun tipo de error.

Aqui está a ver que estaría faltando o sobrando para que resulte:

-----------------------------------------------------------------------------------------------------------------
Procedimiento Conex_ADO:

'Realizando la conexión con la bd:
BD.Open "Provider=SQLOLEDB;" & _
"User ID=sa;" & _
"Pwd=;" & _
"Initial Catalog=BDTLF;" & _
"Data Source=(local)"

BD.BeginTrans 'inicia la transacción

'Abriendo el Recordset para acceder a la tabla:
'(referencia a una tabla)
RsTLF.Open "TR_TFL", _
BD, _
adOpenKeyset, _
adLockOptimistic, _
adCmdTable 'se abre una tabla


'Abriendo el Recordset para acceder a la tabla:
'(referencia a una SQL)
'RsTLF.Open "SELECT * FROM TR_TLF " & _
' "ORDER BY TxtNomb", _
' BD, _
' adOpenKeyset, _
' adLockOptimistic, _
' adCmdText 'se abre una SQL
---------------------------------------------------------------------------------------------------------
EL CODIGO DE GUARDAR EL REGISTRO:

Conex_ADO

RsTLF.AddNew
RsTLF!TxtNomb = TxtNomb.Text
RsTLF!TxtNombre = TxtNombre.Text
RsTLF!TxtTelefCel = TxtTelefCel.Text
RsTLF!TxtTelefHab = TxtTelefHab.Text
RsTLF!TxtTelefTrab = TxtTelefTrab.Text
RsTLF!TxtFax = TxtFax.Text
RsTLF!TxtDireccion = TxtDireccion.Text
RsTLF.Update
RsTLF.Close
MsgBox "Registro Guardado", vbInformation, "Operación de Registro"
---------------------------------------------------------------------------------------------------------

Realmente esto es un programita de prueba, como me estoy iniciando, es este es mi primera cuestion en Ado como quien dice.

Muchas gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Conexion no produce nada (ADO)

Publicado por iñaki (502 intervenciones) el 12/10/2005 10:33:15
Has probado el ir depurando linea a linea?,

Hay un detalle que me llama al atención, "Bd.Begintrans", Utilizas una transaccion para una sola operacion de añadir datos, pero no veo el fin de la transaccion "Bd.CommitTrans", ni la cancelacion de la operacion en caso de error : "bd.RollbackTrans".

Te aconsejo que quites, al menos temporalmente, la transaccion.
Tambien puedes ir probando , en vez de pulsar "F5" , pulsar "F8",y ver que hace en cada linea.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexion no produce nada (ADO)

Publicado por Juan Manuel (124 intervenciones) el 12/10/2005 15:10:09
El problema es que comienzas la transaccion y nunca la terminas, con tuconexion.CommitTrans le decis que cierre la transaccion y por consiguiente se guarden los datos, en caso de error con un rollbacktrans vuelve todo a su estado original en el momento de beginTrans
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexion no produce nada (ADO)

Publicado por carlos (99 intervenciones) el 12/10/2005 17:11:24
uhmmm.. ok, pero entonces claro abro la tansacción en la conexión ADO que indico y la cierro con BD.CommitTrans luego del código de guardar, esto iria antes o despues de algun .Close para Rs o para la variable BD ?

Como sea que lo ponga al parecer arroja un error en el Update:
Violation of PRIMARY_KEY constraint 'PK_TR_TLF'. Cannot insert duplicate key in object 'TR_TLF'.

TR_TLF es el nombre de la Tabla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar