Visual Basic.NET - necesito ayuda con ese registroa mi basa de datos creado en access no me registra nada cuando le doy

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

necesito ayuda con ese registroa mi basa de datos creado en access no me registra nada cuando le doy

Publicado por Jhonson (1 intervención) el 18/02/2019 17:27:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        enlace()
        Label9.Text = estado
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        comando = New OleDb.OleDbCommand("INSERT INTO tabla1(Codigo, Nombre, Apellido, Genero, Edad, Especialidad, Observaciones )" & Chr(13) &
                                         "VALUES( TextBox1,  TextBox2,checkbox1, checkbox2,  TextBox3, DomainUpDown1, ComboBox1,TextBox4  )", conexion)
        Dim a As String
        If CheckBox1.Checked = True Then
            a = (" Masculino")
        ElseIf CheckBox2.Checked = True Then
            a = (" Femenino")
        End If
        comando.Parameters.AddWithValue("@Codigo", TextBox1.Text)
        comando.Parameters.AddWithValue("@Nombre", TextBox1.Text)
        comando.Parameters.AddWithValue("@Apellido", TextBox1.Text)
        comando.Parameters.AddWithValue("@Genero", value:="a")
        comando.Parameters.AddWithValue("@Edad", DomainUpDown1.Text)
        comando.Parameters.AddWithValue("@Especialidad", ComboBox1.Text)
        comando.Parameters.AddWithValue("@Observaciones", TextBox4.Text)
 
        comando.ExecuteNonQueryAsync()
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        End
    End Sub
 
    Private Sub Form1_FontChanged(sender As Object, e As EventArgs) Handles Me.FontChanged
        conexion.Close()
    End Sub
End Class


estos son los codigos del modulo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Imports System.Data
Imports System.Data.OleDb
Module Module1
    Public conexion As New OleDbConnection
    Public estado As String
    Public comando As New OleDbCommand
    Sub enlace()
        Try
            conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\elpi3\OneDrive\Escritorio\base de datos\Database1.mdb"
            conexion.Open()
            estado = "conectado"
        Catch ex As Exception
            estado = "desconectado"
        End Try
    End Sub
End Module
Captura
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

necesito ayuda con ese registroa mi basa de datos creado en access no me registra nada cuando le doy

Publicado por kingk (76 intervenciones) el 18/02/2019 19:19:45
Hola, lo que sucede es que estas definiendo tu sentencia sql incorrectamente.
En los valores a insertar estas colocando el nombre de tus textbox, checkbox y demas. Cuando debes colocar los valores que quieres ingresar. En tu caso como veo que usar parametros debes colocar el nombre del parametro de acuerdo a o la columna que corresponda. Tu sentencia sql tendria que ir asi:

"INSERT INTO tabla1(Codigo, Nombre, Apellido, Genero, Edad, Especialidad, Observaciones )" & " VALUES( @Codigo, @Nombre, @Apellido,@Genero, @Edad, @Especialidad, @Observaciones)"
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
Imágen de perfil de Phil Rob
Val: 2.090
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

necesito ayuda con ese registroa mi basa de datos creado en access no me registra nada cuando le doy

Publicado por Phil Rob (506 intervenciones) el 18/02/2019 19:54:05
Hola,

Creo que uso malo de Parameters.
Creo que cada¨Parameter" debe ser creado distintamente antes de ser añadido a la colección "Parameters" :
1
2
3
'  Esto debería verse así para cada parámetro.
  Param = New MySqlParameter("@Codigo", TextBox1.Text)
    cmd.Parameters.Add(Param)
Propongo ver la discusión "Error de sintaxis en procedimiento almacenado MySql" del 11/2, iniciada por Cristian.
La discusión de Cristian concernía MySQL, pero era el mismo problema que el tuyo.

Además, su declaración SQL no es correcta, no puede pasar un TextBox como valor, quizás TextBox1.Text, pero en realidad deberían ser nombres de parámetros o "?" si los parámetros se añaden en el orden correcto.

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
sin imagen de perfil
Val: 29
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

necesito ayuda con ese registroa mi basa de datos creado en access no me registra nada cuando le doy

Publicado por Arturo (97 intervenciones) el 26/02/2019 11:08:52
Yo lo haria de la siguiente forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
dim a as string
dim sSql sa string
 
    If CheckBox1.Checked = True Then
        a = (" Masculino")
    ElseIf CheckBox2.Checked = True Then
        a = (" Femenino")
    End If
 
    sSql = "INSERT INTO tabla1(Codigo, Nombre, Apellido, Genero, Edad, Especialidad, Observaciones ) " & _
               "VALUES('" & TextBox1.text & "', '" & _
                                      TextBox2.text & "', '" & _
                                      a & "', '" & _
                                      TextBox3.Text & "', " & _
                                      DomainUpDown1 & ", '" & _
                                      ComboBox1.Text & ", '" & _
                                      TextBox4.text & "')"
 
    'Creo que en access no es necesario poner el ".Text" para utilizar campos de texto
 
    comando = New OleDb.OleDbCommand(ssql, conexion)
    comando.ExecuteNonReader
 
End Sub
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