Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB6] cancellare il contenuto di una tabella di un database mdb

    Salve
    Sto cercando di cancellare tutti i record o solo quelli che rispondono ad un criterio, presenti in un database mdb da una form di VB, utilizzando una istruzione SQL attraverso un controllo Adodc.

    Desidererei un parere sul seguente codice (….non funzionante)
    Grazie



    codice:
    Private Sub Command1_Click()
    Adodc1.CommandType = adCmdText
    sql_eliminarecord = "delete from dati Where cognome ='Rossi'"
    Adodc1.RecordSource = sql_ eliminarecord
    End Sub

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non uso ADODC (Dio me ne scampi ) ma essendo un database MDB vuole l'asterisco:

    codice:
    DELETE * FROM tabella WHERE .....

  3. #3
    non si risolve nulla (anche inserendo l'asterisco)

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da mmmmmmmm
    non si risolve nulla (anche inserendo l'asterisco)
    Specifica l'errore che ottieni.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Non ha senso usare una query di tipo DELETE come RecordSource di un controllo AdoData.

  6. #6
    l'errore consiste nel fatto che non succede nulla nel senso che nessun record viene cancellato (senza alcun messaggio di errore)

    se non ha senso usare delete in adodc, in alternativa cosa mi consigliate?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Originariamente inviato da mmmmmmmm
    se non ha senso usare delete in adodc, in alternativa cosa mi consigliate?
    Quello che ti è già stato consigliato nell'altra discussione: non usare il controllo Adodc, ma apri una connessione al database, poi crea un recordset e su questo potrai usare sia i metodi ADO, sia tutti i tipi di query.

    Nel caso che per te siano cose completamente sconosciute, ti consiglierei, prima di avventurarti nella scrittura di programmi, di apprendere queste nozioni basilari.

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da mmmmmmmm
    l'errore consiste nel fatto che non succede nulla nel senso che nessun record viene cancellato (senza alcun messaggio di errore)
    Forse, ma non usando ADODC non ne sono certo, potrebbe esserci il metodo Delete.
    Qualcosa del genere:

    Adodc1.Recordset.Delete [costante]

    Guarda sulla guida...

    In ogni caso, stai usando roba vecchissima ed inutile ed è proprio meglio lasciarla perdere perchè è pure controproducente.
    Infine non impari nulla di utile, ovvero è solo tempo perso.
    Sarebbe come se tu imparassi a costruire la vecchia Fiat 500. Ha senso?

    Originariamente inviato da mmmmmmmm
    se non ha senso usare delete in adodc, in alternativa cosa mi consigliate?
    Non ha proprio senso usare ADODC.
    Si deve utilizzare direttamente ADODB, molto più semplice e flessibile perchè fai quello che vuoi senza problemi. Con ADODB è tutta un'altra cosa!
    Detto per inciso il controllo ADODC non è altro che un wrapper (fatto anche maluccio) che usa ADODB, ma con dei limiti notevoli, e pure qualche bug.

    Di materiale su ADODB in giro per il web ce n'è a pacchi, ti segnali alcuni progetti giusto per capire come funziona ADODB e soprattutto come usare Command e Parametri (concetto che ti aiuterà ad un futuro passaggio in VB.NET) vedi questi:


    ADO, Parametri ed affini
    http://nuke.vbcorner.net/Articoli/VB...5/Default.aspx
    (ne trovi altri sul sito)

    poi

    Database - Why should I use Parameters instead of putting values into my SQL string?
    http://www.vbforums.com/showthread.php?t=548787

    Database - Why is using bound controls a bad thing?
    http://www.vbforums.com/showthread.php?t=416218

    Classic VB/ADO: How can I add a record to a database?
    http://www.vbforums.com/showthread.php?t=381391
    (example for an Insert statement - method 2 shows string building, method 3 shows the same statement with parameters).



  9. #9
    Se proprio vuoi usare VB6 ti posso consigliare un libro Microsoft Visual Basic 6 - di Francesco Balena - mondadori informatica - I Portatili - 10 euro circa
    Qui trovi informazioni generali piu una sezione per l'accesso ai dati fatta molto bene.Ovviamente in rete trovi di tutto.
    A me piace piu' studiare sui libri. Lo schermo mi disturba.
    Ti consiglio pero' se sei all'inizio di passare direttamente al visual basic.net.
    Io programmo in vb6 e ancora (per pigrizia e per mancanza di tempo..non è la mia attività principale) non sono passato al "nuovo" linguaggio. E me ne pento molto.

  10. #10
    Se comunque l'utente vuole usare quel metodo, anche in effetti è come dicono gli amici: ADODB connettendosi con un Provider OLE con tutti i suoi metodi e proprietà è perfetto anche per Gestionali enormi, può seguitare in quel 'sentierino dove magari si sente sicuro e si accontenta..'
    Credo che non ti funzioni non per la sintassi del comando Sql, ma per come vorresti eseguirlo:
    Adodc1.RecordSource = sql_ eliminarecord
    Io nn credo, anche se non lo conosco, che il metodo .recordsource esegua la stringa del comando... Magari potrebbe essere un .command o un .execute (io non so quali abbia 'Adodc...?!').
    Saluti dall'alta Maremma innevata...
    Luciano.
    Un salutone dall'Alta Maremma...!

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.