Visual Basic - Errores varios.

Life is soft - evento anual de software empresarial
 
Vista:

Errores varios.

Publicado por b0nete (1 intervención) el 12/06/2013 05:37:42
Hola, necesito algo de ayudita con unos problemas..

1) Estoy queriendo cargar datos de 2 tablas distintas y nose como hacerlo, quisiera que me expliquen como.. Leí que había que insertarse los datos por separado, pero no logro dar con el código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Sub grabarCliente(ByVal al As Clientes)
        Dim sel As String
        Try
            sel = "INSERT INTO Clientes, Domicilios" & _
                "(DNI, Apellido, Nombre, Calle, Numero, Barrio, Localidad, Provincia) " & _
                "VALUES ('" & _DNI & "','" & _
                  _Apellido & "','" & _
                  _Nombre & "','" & _
                  _Calle & "'," & _Numero & " " & _
                  _Barrio & "','" & _Localidad & "','" & _
                  _provincia & "')"
            com.CommandText = sel
            com.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
        End Try
    End Sub


Esto es lo que tengo, también probé con and (INSERT INTO Clientes and Domicilios) y tampoco obtuve resultados..

2)Necesito un botón para buscar una tupla por DNI y me da error de conversión a tipo integer.

Este es el código del botón. (FORM Cliente)

1
2
3
4
Private Sub btnBuscardni_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscarDNI.Click
        ds = al.CargaGrilla(txtDNI.Text)
        DataGridView1.DataSource = ds.Tables(0)
    End Sub


También coloque en ds el valor de txtDNI como tipo de dato entero pero nada.. así lo coloqué: ds = al.CargaGrilla(CInt(txtDNI.Text)) pero no funcionó.

Y la función CargaGrilla (Modulo Clientes)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Function CargaGrilla() As DataSet
        da = New SqlDataAdapter("select * from Clientes", con)
        ds = New DataSet
        dt = New DataTable
        da.Fill(ds)
        'End Try
        Return ds
 
    End Function
    Public Function CargaGrilla(ByVal DNI As Integer) As DataSet
        da = New SqlDataAdapter("select * from Clientes where DNI = ' & DNI & '", con)
        ds = New DataSet
        Try
            da.Fill(ds)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
        End Try
        Return ds
    End Function
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
Imágen de perfil de Juan Carlos C
Val: 10
Ha aumentado su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Errores varios.

Publicado por Juan Carlos C (130 intervenciones) el 12/06/2013 20:49:38
Hola b0nete,

Te ayudo con el primero...

A lo que se refiere "por separado" es que hay que pasar una a una las tablas, es decir primero los clientes y luego los domicilios, la instrucción INSERT INTO es valida para pasar la misma información de una tabla a otra.

INSERT INTO Clientes IN 'ClientesDestino' SELECT * FROM Clientes

Otra cosa que puedes hacer es crear una consulta que contenga datos de las dos tablas.
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

Errores varios.

Publicado por omar (11 intervenciones) el 12/06/2013 20:54:51
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub mostrar(ByVal sql As String, ByVal dgv As DataGridView)
        Try
            Dim da As New OleDbDataAdapter(sql, conexion)
            Dim ds As New DataSet
            conexion.Open()
            da.Fill(ds)
            conexion.Close()
            dgv.DataSource = ds.Tables(0)
        Catch ex As Exception
            conexion.Close()
        End Try
 
    End Sub


usa en sql
select * from datos inner join factura on datos.idfactura= factura.idfactura where campo

solo que tengas los campos de id iguales en ambas tablas y con eso traes datos de las dos tablas
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