Hola
chelochos!.
1º Viendo tu código y comparándolo con el mensaje de error, no veo ningun ExecuteReader en ningún lado.
2º No estas haciendo adecuadamente la apertura y en especial el cierre de conexion que no lo veo por ningún lado, la mejor manera de controlar es la siguiente :
Código vb:
Ver originalPublic Sub Crear_Usuario(ByVal a As String, ByVal b As String, ByVal c As String)
Try
Dim conexion As New SqlClient.SqlConnection
conexion.ConnectionString = cnn
Dim cmm As SqlCommand = New SqlCommand("sp_addlogin ", conexion)
cmm.CommandType = CommandType.StoredProcedure
Me.cmm.Parameters.Add("@loginame", a)
Me.cmm.Parameters.Add("@passwd", b)
Me.cmm.Parameters.Add("@defdb", c)
'Pregunto si la conexion no esta abierta
If conexion.State != ConnectionState.Open Then
'Abres conexion antes de ejecutar
conexion.Open()
End If
Me.cmm.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "No es posible crear Usuario")
'Creo el finally, cuando suceda un error o no para que pase por este código sí o sí
Finally
'Cierro la conexión aqui
conexion.Close()
End Try
End Sub
Saludos!
.