Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    79

    [VB.Net]. Gestione sequenziale tabella database

    Ciao a tutti, potete aiutarmi a risolvere il seguente pbm?
    Ho inserito in una form tramite OleDbDataAdapter / OleDbConnection il Dataset relativo alla Tabella "Rubrica" [contenente i campi Nominativo(testo 40)e Telefono(testo 15)] del database Access "Personale.mdb".
    Nella Form Load carico tutti i dati nel dataset (con la fill).

    Come faccio ad emulare una classica Do while Not Eof
    per aggiungere in testa al campo Telefono di TUTTI I RECORD (UNO ALLA VOLTA) la stringa "+39" ed aggiornare, alla fine delle operazioni, IL DATABASE ORIGINALE? (ho previsto un button per fare partire la procedura con una Msghox finale che manderà un messaggio di buon esito delle operazioni).

    Help me! Grazie!
    Saluti emmexielliani da MXL

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    for each riga as datarow in dataset.nometabella.rows

    next

  3. #3

    Re: [VB.Net]. Gestione sequenziale tabella database

    Originariamente inviato da mxlmxl
    Ciao a tutti, potete aiutarmi a risolvere il seguente pbm?
    Ho inserito in una form tramite OleDbDataAdapter / OleDbConnection il Dataset relativo alla Tabella "Rubrica" [contenente i campi Nominativo(testo 40)e Telefono(testo 15)] del database Access "Personale.mdb".
    Nella Form Load carico tutti i dati nel dataset (con la fill).

    Come faccio ad emulare una classica Do while Not Eof
    per aggiungere in testa al campo Telefono di TUTTI I RECORD (UNO ALLA VOLTA) la stringa "+39" ed aggiornare, alla fine delle operazioni, IL DATABASE ORIGINALE? (ho previsto un button per fare partire la procedura con una Msghox finale che manderà un messaggio di buon esito delle operazioni).

    Help me! Grazie!
    Saluti emmexielliani da MXL
    Ciao dimmi se hai risolto il problema.
    Altrimenti penso che dovresti usare il cotrollo ado che dovrebbe esseerci in VB.net.
    Se non hai risolto chiedi e ti indicherò una soluzione.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    79
    OK,

    For Each riga As DataRow In DataSet11.Rubrica.Rows

    Next

    funziona e mi fa accedere ai record uno alla volta, proprio come volevo...

    MA COME FACCIO A PUNTARE (identificare) il campo Telefono, testarne il contenuto e se non comincia per "00" o per "+" premettere "+39"
    al contenuto già presente ???
    E come Updato i dati nel database originale?

    Vi prego, fate qualcosa!
    HELP!
    MXL

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    riga(nomecolonnainteressata)=

  6. #6
    Originariamente inviato da mxlmxl
    OK,

    For Each riga As DataRow In DataSet11.Rubrica.Rows

    Next

    funziona e mi fa accedere ai record uno alla volta, proprio come volevo...

    MA COME FACCIO A PUNTARE (identificare) il campo Telefono, testarne il contenuto e se non comincia per "00" o per "+" premettere "+39"
    al contenuto già presente ???
    E come Updato i dati nel database originale?

    Vi prego, fate qualcosa!
    HELP!
    MXL
    Ciao,
    ti rispondo con VB6 vista l'urgenza che hai perchè penso che l'istruzione SQL dovrebbe andar bene anche con VB.net
    L'istruzione SQL che devi usare è:

    SQL = "UPDATE Rubrica SET Telefono ='+39'+[telefono]" _
    & " WHERE left(Telefono,2)<>'00' and left(Telefono,1)<>'+'"


    Se poi puoi usare DAO e ADO ti dò il codice completo per il form dove iserirai una datagrid e un controllo ADO.

    Private Sub Command1_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim qu As QueryDef
    Set db = OpenDatabase(App.Path & "\Personale.mdb")
    Set rs = db.OpenRecordset("Rubrica")
    SQL = "UPDATE Rubrica SET Telefono ='+39'+[telefono]" _
    & " WHERE left(Telefono,2)<>'00' and left(Telefono,1)<>'+'"
    Set qu = db.CreateQueryDef("", SQL)
    qu.Execute
    db.Close
    Adodc1.RecordSource = "Select*from Rubrica"
    Adodc1.Refresh
    MsgBox "Aggiornamento effettuato"
    End Sub
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  7. #7
    bè hai risolto mxlmxl? E come?
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    79

    Risolto!

    Scusami giorgiogio48, sono stato proprio un cafone ma non ho avuto un istante per ringraziarvi. In realtà ho sfruttato i suggerimenti di cassano (non utilizzo SQL).
    CMQ ancora grazie per l'interessamento (non avete qualche dritta per il Drag and Drop in VB.Net? -vedi altra discussione-)
    Ciao!
    Mxl

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 © 2026 vBulletin Solutions, Inc. All rights reserved.