Foros del Web » Programación para mayores de 30 ;) » .NET »

Base de datos access con VIsual Basic.NET

Estas en el tema de Base de datos access con VIsual Basic.NET en el foro de .NET en Foros del Web. Estoy haciendo un proyecto WEB y quiero acceder a una base de datoa Access más de una vez y me da error. La primera vez ...
  #1 (permalink)  
Antiguo 09/08/2004, 08:57
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 19 años, 8 meses
Puntos: 0
Base de datos access con VIsual Basic.NET

Estoy haciendo un proyecto WEB y quiero acceder a una base de datoa Access más de una vez y me da error. La primera vez que accedo me funciona perfectamente, pero la segunda siempre me da un error.
Este es el código de la primera vez que accedo:
Dim oConn As New OleDb.OleDbConnection()
Dim myCommand As New OleDb.OleDbCommand()
Dim oRsRead As OleDb.OleDbDataReader

oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Datos\Peliculas.mdb")
oConn.Close()
oConn.Open()
myCommand.CommandText = "SELECT * FROM Rubros"
myCommand.Connection = oConn

oRsRead = myCommand.ExecuteReader()
While oRsRead.Read()
ddl_rubro.Items.Add(oRsRead.GetString(1).PadRight( 50) & oRsRead.GetInt32(0).ToString.PadLeft(3))
End While

Ahora, yo quiero hacer otro select comun y corriente, ¿que tengo que hacer????
Gracias.
  #2 (permalink)  
Antiguo 09/08/2004, 09:42
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola..

Creo que antes que todo debes cerrar tu conexion..y tu datereader , te podría quedar de ésta forma.

Cita:
...
oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Datos\Peliculas.mdb")
oConn.Open()
myCommand.CommandText = "SELECT * FROM Rubros"
myCommand.Connection = oConn
...
...
oRsRead.Close()
oConn.Close()
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 09/08/2004, 09:52
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 19 años, 8 meses
Puntos: 0
Esa es una de las cosas que ya he hecho pero me sigue dando errores.... Si no te es mucho lío, no me podrías adjuntar el código desde la declaración de las conecciones y objetos hasta el segundo select que hagas.... TE LO VOY A AGRADECER MUCHISIMO.
  #4 (permalink)  
Antiguo 09/08/2004, 10:14
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cual es el error que te arroja..?? y tambien pon la línea y el código en donde te arroja el error para que sea mas fácil poderte ayudar.

Salu2
  #5 (permalink)  
Antiguo 09/08/2004, 11:33
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 19 años, 8 meses
Puntos: 0
En el segundo ExecuteReader me da el error que necesito una conección abierta y habilitada.

Dim oConn As New OleDb.OleDbConnection()
Dim myCommand As New OleDb.OleDbCommand()
Dim oRsRead As OleDb.OleDbDataReader

oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Datos\Peliculas.mdb")
oConn.Close()
oConn.Open()
myCommand.CommandText = "SELECT * FROM Rubros"
myCommand.Connection = oConn

oRsRead = myCommand.ExecuteReader()
While oRsRead.Read()
ddl_rubro.Items.Add(oRsRead.GetString(1).PadRight( 50) & oRsRead.GetInt32(0).ToString.PadLeft(3))
End While

oRsRead.Close
myCommand.CommandText = "SELECT * FROM Generos"
myCommand.Connection = oConn

oRsRead = myCommand.ExecuteReader()
While oRsRead.Read()
ddl_rubro.Items.Add(oRsRead.GetString(1).PadRight( 50) & oRsRead.GetInt32(0).ToString.PadLeft(3))
End While
  #6 (permalink)  
Antiguo 09/08/2004, 11:55
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Seguro que tienes ésto:

Cita:
...
...
oRsRead = myCommand.ExecuteReader()
While oRsRead.Read()
ddl_rubro.Items.Add(oRsRead.GetString(1).PadRight( 50) & oRsRead.GetInt32(0).ToString.PadLeft(3))
End While

oRsRead.Close
oConn.Close

myCommand.CommandText = "SELECT * FROM Generos"
myCommand.Connection = oConn
oConn.open()
oRsRead = myCommand.ExecuteReader()
....
...
oRdRead.Close()
oConn.Close()
  #7 (permalink)  
Antiguo 09/08/2004, 13:20
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 19 años, 8 meses
Puntos: 0
Te agradezo mucho. Me funcionó correctamente.
  #8 (permalink)  
Antiguo 16/10/2008, 14:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Base de datos access con VIsual Basic.NET

Hola, yo tengo un problema con el select, resulta que se supone que el ExecuteNonQuery lo que devuelve es el numero de filas encontradas. Pues bien, poniendo este código e introduciendo datos que están en la base de datos el ExecuteNonQuery me sigue dando 0. Imagino que lo que no funciona es el select pero para que pruebo todas las formas de ponerlo me sigue saliendo 0. Este es el cñodigo que tengo, aver si alguien me puede ayudar, muchas gracias

Protected Sub Aceptar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Aceptar.Click
Dim a, b, resul As String

Dim cnn As OleDbConnection

If DropDownList1.Text = "Profesor" Then


a = TextBox1.Text
b = TextBox2.Text


cnn = New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\Bea.BEA-095B12391FA\Mis documentos\Visual Studio 2005\WebSites\GestionAulas\App_Data\gestionaulas.m db")
cnn.Open()
Dim query As String = "SELECT Apellido " & _
"FROM Profesor " & _
"WHERE Nombre = '" & a & "'" _
& "AND DNI = '" & b & "'"

Dim objCmd As New OleDbCommand(query, cnn)
resul = objCmd.ExecuteNonQuery


Response.Write(resul)

cnn.Close()
End If

End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:14.