Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44

    [Vb 2008]record in meno in datagridview

    ragazzi mi inserisce sempre un record in meno come mai?
    codice:
     Dim ObjCommand As OleDbCommand
            Dim Ultimo_ID
            'Connessione
            cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= DbCarrara.accdb"
            cnn.Open()
            ObjCommand = New OleDbCommand("SELECT TOP 1 * FROM Cliente ORDER BY IDcliente DESC", cnn)
            Ultimo_ID = ObjCommand.ExecuteScalar()
            'Query
            sql = "SELECT Cliente.Cognome, Cliente.Nome, Cliente.Indirizzo, Cliente.Comune, Cliente.[Cognome Defunto], Cliente.[Nome Defunto], Cliente.[Zona Interrato], Cliente.[Posizione Nro], Servizio.NomeServizio, Servizio.Importo FROM Servizio INNER JOIN (Cliente INNER JOIN Cliente_Servizio ON Cliente.IDcliente = Cliente_Servizio.Cliente) ON Servizio.CodServizio = Cliente_Servizio.Servizio WHERE Cliente.IDcliente =" & Ultimo_ID
            'Dataset
            dts = New DataSet("DbCarrara")
            'DataAdapter
            dtp = New OleDb.OleDbDataAdapter(sql, cnn)
            dtp.Fill(dts, "DbCarrara")
            'BindingSource
            bds = New BindingSource()
            bds.DataSource = dts
            bds.DataMember = "DbCarrara"
            'DataGridView
            DataGridView1.DataSource = bds
            cnn.Close()
    
        End Sub

  2. #2
    Spiegati meglio .... nel codice che hai postato non c'è nessuna operazione di inserimento.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    allora mi spiego meglio...precedentemente in un altra form,inserisco un Cliente,poi inserisco dei servizi collegati a quel cliente.
    Ora quando faccio la select..mi carica il cliente con i servizi..ma c'è sempre un servizio in meno,ma se vado nel database ci sono tutti i servizi..quindi nel dataSet non lo carica..come mai'?

  4. #4
    Probabilmente il record "escluso" non soddisfa i criteri impostati nella select ... prova a verificare.

    Facci sapere..
    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    no ho verificato,l'ID è sempre quello..nel senso che ho Id 2 e i vari servizi,mi prende tutti i servizi tranne l'ultimo...

  6. #6
    Non è solo L'Id a far parte dei criteri di filtraggio .... ma anche le impostazioni di Join.

    Cliente.IDcliente = Cliente_Servizio.Cliente è vero?
    Servizio.CodServizio = Cliente_Servizio.Servizio è vero?
    Cliente.IDcliente =" & Ultimo_ID è vero?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    allora io ho il cliente con ID 1,ho vari servizi che hanno ID 1,2,3,4
    Quando salvo nel database,ottengo in un'altra tab, IDcliente e ID servizio
    quando faccio la join metto insieme i dati del cliente con i dati del servizio,funziona ma tranne per l'ultimo servizio,se le condizioni della join era errate non doveva inserire nemmeno gli altri servizi..no?

  8. #8
    Puoi mostare il codice che usi per la Insert ?

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    ho verificato la Insert va a buon fine
    codice:
     Try
                StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DbCarrara.accdb"
                ObjConnection = New OleDbConnection(StrConn)
                ObjConnection.Open()
    
                'RECUPERO L'Ultimo Id inserito
                '"SELECT TOP 1 * FROM Cliente ORDER BY IDcliente DESC"
    
                ObjCommand = New OleDbCommand("SELECT TOP 1 * FROM Cliente ORDER BY IDcliente DESC", ObjConnection)
                ID = ObjCommand.ExecuteScalar()
                ' ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                If (CheckBox1.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 1
                    RispUtente = ObjCommand2.ExecuteNonQuery()
                End If
                If (CheckBox2.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 2
                    RispUtente = ObjCommand2.ExecuteNonQuery()
                End If
                If (CheckBox3.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 3
                    RispUtente = ObjCommand2.ExecuteNonQuery()
    
                End If
                If (CheckBox4.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 4
                    RispUtente = ObjCommand2.ExecuteNonQuery()
                End If
                If (CheckBox5.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 5
                    RispUtente = ObjCommand2.ExecuteNonQuery()
    
                End If
                If (CheckBox6.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 6
                    RispUtente = ObjCommand2.ExecuteNonQuery()
                End If
                If (CheckBox7.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 7
                    RispUtente = ObjCommand2.ExecuteNonQuery()
                End If
                '  MsgBox(ID)
                If (CheckBox8.Checked = True) Then
                    ObjCommand2 = New OleDbCommand("INSERT INTO CLIENTE_SERVIZIO (CLIENTE,SERVIZIO) VALUES (?,?)", ObjConnection)
                    ObjCommand2.Parameters.Add("@CLIENTE", OleDbType.Integer).Value = ID
                    ObjCommand2.Parameters.Add("@SERVIZIO", OleDbType.Integer).Value = 8
                    RispUtente = ObjCommand2.ExecuteNonQuery()
                End If
                If (CheckBox1.Checked = False And CheckBox2.Checked = False And CheckBox3.Checked = False And CheckBox4.Checked = False And CheckBox5.Checked = False And CheckBox6.Checked = False And CheckBox7.Checked = False) Then
                    MsgBox("Selezionare un Servizio")
                End If
                'MsgBox(ID)
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    ho messo nel dataSet tutti i servizi di un ID...ovvero
    codice:
      sql2 = "SELECT Servizio FROM Cliente_Servizio WHERE Cliente=" & Ultimo_ID
            'Dataset2
            dts2 = New DataSet("DbCarrara")
            'DataAdapter2
            dtp2 = New OleDb.OleDbDataAdapter(sql2, cnn)
            dtp2.Fill(dts2, "DbCarrara")
    e ugualmente uno in meno....ma perkè?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.