Foros del Web » Programando para Internet » ASPX (.net) »

Comparar dos tablas

Estas en el tema de Comparar dos tablas en el foro de ASPX (.net) en Foros del Web. Hola. Se me borró el otro mensaje antes de enviarlo. Así que seré un poco más breve. Dos tablas, una en Access y otra en ...
  #1 (permalink)  
Antiguo 03/10/2005, 05:32
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Comparar dos tablas

Hola. Se me borró el otro mensaje antes de enviarlo. Así que seré un poco más breve.

Dos tablas, una en Access y otra en SQL Server.

La de Access tiene todos los socios dados de alta y baja y la de SQL Server debería tener sólo los que están dados de alta. Quiero mostrar en un datagrid todos los que están dados de alta en la primera pero que no estén en la segunda, es decir los que están pendientes de dar de alta. Y en otro datagrid, los que haya que borrar de SQL server pues están en Access como dados de baja. La lista de altas es la que me está costando.

Código:
            Dim strSel As String
            Dim i As Integer
            Dim conOle As New OleDbConnection(ConfigurationSettings.AppSettings("strConOle"))
            Dim dtOle As New DataTable
            Dim conSQL As New SqlConnection(ConfigurationSettings.AppSettings("strConSQL"))
            Dim dtSQL As New DataTable

            strSel = "SELECT [Número de Socio] AS numSocio, '' AS nombre, '' AS DNI FROM [Tabla con datos de situación] WHERE [Situación para el Club] = 'A'"
            Dim daOle As New OleDbDataAdapter(strSel, conOle)
            daOle.Fill(dtOle)
            Dim strBuilBajas As New StringBuilder
            If dtOle.Rows.Count > 0 Then
                strBuilBajas.Append("1,2")
                For i = 0 To dtOle.Rows.Count - 1
                    strBuilBajas.Append("," & dtOle.Rows(i)("numSocio"))
                Next
            End If

            'Se carga la lista para dar de baja
            strSel = "SELECT numero_socio AS numSocio, (nombre_socio + ' ' + apellido1_socio + ' ' + apellido2_socio) AS nombre, dni AS DNI FROM acceso_socios WHERE numero_socio NOT IN (" & strBuilBajas.ToString & ")"
            Dim daBajasSQL As New SqlDataAdapter(strSel, conSQL)
            daBajasSQL.Fill(dtSQL)
            Me.dgBajas.DataSource = dtSQL
            Me.dgBajas.DataBind()
            dtSQL.Clear()

            'Se carga la lista para dar de alta
            strSel = "SELECT numero_socio AS numSocio FROM acceso_socios"
            Dim daAltasSQL As New SqlDataAdapter(strSel, conSQL)
            daAltasSQL.Fill(dtSQL)
            

            ' Aquí me he quedado bloqueado 
Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 05:32.