me peta al ejecutar dos inserts seguidos

Emily
14 de Marzo del 2006
Hola, a ver si me podeis ayudar... tengo un formulario donde en el boton aceptar tengo que hacer dos inserts. Para ello tengo creada una funcion Ejecutar(SEtenciaSQL,CadenaConexion) que cuando acaba cierra la base de datos y inicializa la conexion a nothing.
Si ejecuto los inserts por separado funcionan bien pero cuando quiero insertar dos registros y llamo a la funcion dos veces seguidas peta.
Alguien tiene alguna idea?

Gracias

mvallejos
14 de Marzo del 2006
¿Es posible que no sean capaces de explicar bien el problema o duda que tienen?
Sin ver el código es difícil ayudarte. Ni siquiera nos explicas cuàl es el error que te da.
De todos modos, el error puede estar en cerrar la conexiòn despuès de ejecutar el primer insert.

Saludos

Emily
14 de Marzo del 2006
Perdon por no haber puesto el código pero se hace los que se puede ;-)

El código es el siguiente:

'Funcion de conexion
Public Function Conectar(ByVal Conexion As String) As OleDbConnection
Dim db As New OleDbConnection(Conexion)
db.Open()
Return db
End Function

'PARA EJECUTAR UNA SENTENCIA SQL
Public Function Ejecutar(ByVal SentenciaSQL As String, ByVal CadenaConexion As String)
Dim db As OleDbConnection
Dim cm As New OleDbCommand
db = Conectar(CadenaConexion)
cm.Connection = db
cm.CommandText = SentenciaSQL
cm.CommandType = CommandType.Text
cm.CommandTimeout = 0

cm.ExecuteNonQuery()

cm.Connection.Close()
cm = Nothing
db.Close()
db = Nothing
End Function

Gracias

CSDK
14 de Marzo del 2006
TE REFIERES A ESTO SOLO ABRE Y CIERRA LA CONEXION
Public Function conex()

ADOCONN.ConnectionString = " Provider=SQLOLEDB.1;Persist Security Info=False;User ID=SA;Initial Catalog=SISVA;Data Source=HIGHLIFE"
ADOCONN.Open


End Function
Public Function desconectar()
ADOCONN.Close
End Function

conex
RST_EFICE.Source = "insert into tb_EFI_D values(" & FRM_CAPTURA.Txt_CvlEmpleado.Text & "," & FRM_CAPTURA.txt_fbma.Text & "," & FRM_CAPTURA.txt_fcma.Text & "," & 2 & ")"
RST_EFICE.ActiveConnection = ADOCONN
RST_EFICE.Open
desconectar
conex
RST_EFICE.Source = "insert into tb_EFI_D values(" & FRM_CAPTURA.Txt_CvlEmpleado.Text & "," & FRM_CAPTURA.txt_fbmi.Text & "," & FRM_CAPTURA.txt_fcmi.Text & "," & 3 & ")"
RST_EFICE.ActiveConnection = ADOCONN
RST_EFICE.Open
desconectar