Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Andy Rivera en 05 de Junio 2015, 21:47
-
Hola a todos tengo una base de datos llamada prueba y su tabla vehiculos trato de guardar en la tabla en sus campos Num, Nombre, Color y no hace nada aqui les dejo el codigo del boton guardar ya hice la conexion y nada estoy trabajando en visual studio 2012 vb.net y access 2010.
Imports System.Data.OleDb
Public Class Form1
Dim conexion As New OleDb.OleDbConnection
Dim comandos As New OleDb.OleDbCommand
Dim adaptador As New OleDb.OleDbDataAdapter
Dim resgistro As New DataSet
Private _oleDbCommand As OleDb.OleDbCommand
Private Property OleDbCommand(p1 As String) As OleDb.OleDbCommand
Get
Return _oleDbCommand
End Get
Set(value As OleDb.OleDbCommand)
_oleDbCommand = value
End Set
End Property
Private Property registro As DataSet
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim conexion As OleDbConnection
Dim comandos As OleDbCommand
Try
comandos = New OleDbCommand("ISERT INTO vehiculos VALUE(Num, Nombre,Color) VALUES(TextBox1, TextBox2, Textox3)", conexion)
comandos.Parameters.AddWithValue("@Num", TextBox1.Text)
comandos.Parameters.AddWithValue("@Nombre", TextBox2.Text)
comandos.Parameters.AddWithValue("@Color", TextBox3.Text)
comandos.ExecuteNonQuery()
MsgBox("Guardado Correctamente", vbInformation, "Correcto")
Catch ex As Exception
MsgBox("Error al Guardar", vbExclamation, "Error")
End Try
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
conexion.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\prueba.accdb")
conexion.Open()
MsgBox("Conexión correcta", vbInformation, "Conectado")
Catch ex As Exception
MsgBox("Ha ocurrido un error al intentar conectarse con la base de datos", vbInformation, "Error")
End Try
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim consulta As String
Dim lista As Byte
If TextBox1.Text <> "" Then
consulta = "SELECT * FROM vehiculos WHERE Num = " & TextBox1.Text & ""
adaptador = New OleDb.OleDbDataAdapter(consulta, conexion)
registro = New DataSet
adaptador.Fill(registro, "vehiculos")
lista = registro.Tables("vehiculos").Rows.Count
If lista <> 0 Then
TextBox1.Text = registro.Tables("vehiculos").Rows(0).Item("Num")
TextBox2.Text = registro.Tables("vehiculos").Rows(0).Item("Nombre")
TextBox3.Text = registro.Tables("vehiculos").Rows(0).Item("Color")
End If
End If
End Sub
End Class
-
Hola Andy para pegar código en el foro hazlo según esta explicación: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0
Intenta seguir este ejemplo para solucionar el problema https://www.aprenderaprogramar.com/foros/index.php?topic=1504
Salu2
-
Hola que crees que ya hice todo el procedimiento y nada que guarda, elimina ni actuaiza los registros en el boton guardar dice que si hace todo pero jamas aparece el registro vaya no se actualiza la base de datos con el nuevo ingreso.
para eliminar un registro en la consulta me quenera el siguiente error en tiempo de ejecucion del programa
No se han especificado valores para algunos de los parámetros requeridos.
No hay ninguna fila en la posición 0 (cero)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim consulta As String
Dim lista As Byte
If TextBox1.Text <> "" Then
REM hace la consulta para buscar el registro
MsgBox("CONSULTA !")
consulta = "SELECT *FROM personas_censadas WHERE cedula = " & TextBox1.Text & ""
adaptador = New OleDb.OleDbDataAdapter(consulta, conexion)
regitro = New DataSet
adaptador.Fill(regitro, "personas_censadas")
MsgBox("Cumplio el criterio !")
REM se obtiene la fila que cumpla el criterio
lista = regitro.Tables("personas_censadas").Rows.Count
MsgBox("obtuvo lA FILA")
If lista <> 0 Then REM si encuentra un registro
MsgBox("ENCONTRO EL REGISTRO")
TextBox1.Text = regitro.Tables("personas_censadas").Rows(0).Item("'cedula'")
TextBox2.Text = regitro.Tables("personas_censadas").Rows(0).Item("'nombre'")
TextBox3.Text = regitro.Tables("personas_censadas").Rows(0).Item("'apellido'")
TextBox4.Text = regitro.Tables("personas_censadas").Rows(0).Item("'sexo'")
TextBox5.Text = regitro.Tables("personas_censadas").Rows(0).Item("'telefono'")
TextBox6.Text = regitro.Tables("personas_censadas").Rows(0).Item("'correo'")
TextBox7.Text = regitro.Tables("personas_censadas").Rows(0).Item("'nive_instruccion'")
Button2.Enabled = True
End If
End If
End Sub
-
Hola ¿tienes creada la base de datos y tiene contenidos? Por el error que indicas parece que no haga conexión. ¿Te ejecuta esto (poniendo la ruta en donde tengas tú la base de datos) según el código de ejemplo?
Try
conexion.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & "C:\Users\Admin\Documents\datos.accdb") 'Entre comillas está la cadena de conexión, tenemos que consultarla en el entorno de desarrollo
conexion.Open()
MsgBox ("Conexión correcta", vbInformation, "Conectado")
Catch ex As Exception
MsgBox ("Ha ocurrido un error al intentar conectarse con la base de datos", vbInformation, "Error")
End Try
¿Te dice que la conexión es correcta o te dice error?
Salu2
-
:'( :'( Si ya esta verificado y si realiza la conexión ahora el gran trabajo es que muero de coraje porque no actualiza nada en la tabla de la base de datos! :'(
Try
REM consulta para añadir un registro
MsgBox("realizara la consulta")
comandos = New OleDbCommand("INSER INTO UTX_Finanzas (numero, nombre, color, " & vbCrLf &
"marca, placas, numero_de_serie) (TextBox1, " & vbCrLf &
"TextBox2, TextBox3, TextBox4, TextBox5, " & vbCrLf &
"TextBox6)", conexion)
MsgBox("no he guardado aun")
REM agregamos los valores de los parametros a la consulta
comandos.Parameters.AddWithValue("@numero", TextBox1.Text)
comandos.Parameters.AddWithValue("@nombre", TextBox2.Text)
comandos.Parameters.AddWithValue("@color", TextBox3.Text)
comandos.Parameters.AddWithValue("@marca", TextBox4.Text)
comandos.Parameters.AddWithValue("@placas", TextBox5.Text)
comandos.Parameters.AddWithValue("@numero_de_serie", TextBox6)
comandos.ExecuteNonQueryAsync()
MsgBox("realizo bien la consulta")
MsgBox("GUARDADO CORRECTAMENTE")
TextBox1.Focus()
Catch ex As Exception
End Try
MsgBox("ERROR AL GRABAR")
End Try
-
hola sigue sin generar registros en la tabla aunque me dice que si ha guardado correctamente !!! también cuando en el botón buscar realiza la consulta me dice que no se a inicializado la propiedad selectcommand antes de llamar a fil
en otra instancia igual del mismo programa donde realiza otra consulta de la misma tabla me comenta que que no se ha inicializado la propiedad connectionstring antes de llamar a fill
como te decía esto lo hace siempre en tiempo de ejecución del botón el cual tiene lo programado
-
Hola estoy trabajando desde visual studio 2012 y access 2010 ya hice la pruebra de que se conecte a la base de datos y me genera que la conexion es correcta pero al realizar actualizaciones, busquedas y/o eliminar algo de la tabla me genera los siguientes errorno guarda nada en la tabla y me confirma con un msgbox que si... hizo todo el procedimiento
el boton de buscar me genera un error que dice No se ha inicializado la propiedad SelectCommand antes de llamar a 'Fill'. es el siguiente codigo:
Dim consulta As String
Dim lista As Byte
If TextBox1.Text <> "" Then
consulta = "SELECT * FROM personas_censadas WHERE cedula = " & TextBox1.Text & ""
adaptador = New OleDb.OleDbDataAdapter
registro = New DataSet
adaptador.Fill(registro, "personas_censadas") REM AQUI ME GENERA EL ERROR
lista = registro.Tables("personas_censadas").Rows.Count
Else
MsgBox("Debe ingresar un número de cedula", vbExclamation, "Campo Vacío")
En la consulta que hace para bscar un registro que eliminar me dice: No se han especificado valores para algunos de los parámetros requeridos. y el codigo es el siguiente:
REM hace la consulta para buscar el registro
MsgBox("CONSULTA ")
consulta = "SELECT *FROM personas_censadas WHERE cedula = " & TextBox1.Text & ""
adaptador = New OleDb.OleDbDataAdapter(consulta, conexion)
regitro = New DataSet
adaptador.Fill(regitro, "personas_censadas") REM AQUI ME MARCA EL ERROR
MsgBox("Cumplio el criterio !")
REM se obtiene la fila que cumpla el criterio
lista = regitro.Tables("personas_censadas").Rows.Count
MsgBox("obtuvo lA FILA")
If lista <> 0 Then REM si encuentra un registro
MsgBox("ENCONTRO EL REGISTRO")
TextBox1.Text = regitro.Tables("personas_censadas").Rows(0).Item("@cedula")
TextBox2.Text = regitro.Tables("personas_censadas").Rows(0).Item("@nombre")
TextBox3.Text = regitro.Tables("personas_censadas").Rows(0).Item("@apellido")
TextBox4.Text = regitro.Tables("personas_censadas").Rows(0).Item("@sexo")
TextBox5.Text = regitro.Tables("personas_censadas").Rows(0).Item("@telefono")
TextBox6.Text = regitro.Tables("personas_censadas").Rows(0).Item("@correo")
TextBox7.Text = regitro.Tables("personas_censadas").Rows(0).Item("@nive_instruccion")
Button2.Enabled = True
End If
End If
Les agradezco mucho de ante mano su apoyo!!!
-
Hola, para poder intentar ejecutar con la base de datos incluye el archivo con la base de datos (no hace falta que esté entera, basta con que tenga la estructura y unos cuantos datos de ejemplo) o un link al proyecto completo incluida base de datos. También indica qué diseño es necesario preparar (formularios, botones) para poder ejecutar lo mismo que tienes en tu pc.
Salu2
-
gracias de ante mano por todo
Hola mira te comento como va esto ya no me sale el error antes comentado ya corregí solo seguimos que no me guarda un solo dato en la tabla trato de dar de baja un registro desde otra forma con un botón para realizar la búsqueda me genera un error en tiempo de ejecución que me dice referencia a objeto no establecida como instancia de un objeto.
Agregue una forma más para enviar los datos a un DataGridView y pareciera que la tabla esta vacía no me manda los datos y realmente la tabla si tiene datos…
Tu dime a donde te puedo subir parte del proyecto para que lo revises
espero respuesta saludos!!! :)
-
Hola, hazlo como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0
Salu2
-
te dejo el link donde esta parte de mi proyecto muchas gracias de antemano!
saludos
https://drive.google.com/file/d/0B7zmGty9aF7GSkJqa19ZU2xRZmc/view?usp=sharing
-
Hola, he intentado ejecutarlo y me sale el siguiente mensaje de error: SE HA PRODUCIDO UN ERROR AL CONECTAR LA BASE DE DATOS
Creo que se deba a que debo añadir la librería que permite las conexiones a la base de datos Access ¿Qué librería es la que has añadido tú?
Salu2
-
Hola!!! con gusto dejo el link para que puedas descargarla.....
http://www.microsoft.com/downloads/es-es/details.aspx?displaylang=es&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891
saludos!!! y gracias por tu apoyo!!