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

    [VB6] inserire dati in un database

    per inserire dati in un database ho pensato di fare una form, e mettere diverse textbox che corrispondono ai campi del database, poi ho messo un command button che ho chiamato inserisci.

    Ad esempio: c'è il campo nome e quando clicco inserisci il nome che ho inserito deve essere memorizzato nel database.

    Qualcuno sa come posso fare???

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Presupposto che la tabella di DB esista già (altrimenti la devi creare con i relativi campi)devi aprire il collegamento con il DB e poi fai un Insert, così:
    codice:
    'Salva nel DB TblFullSP i Dati delle
    'FrmSP (codice in un modulo bas):
    Public Sub SalvaFullSP()
            On Error Resume Next
    'Inserimento dei dati nel DB - TblFullSP:
            Dim OggSPF As New ADODB.Command
            Dim ConnSPF As New ADODB.Connection
     
     'Esegue la connessione con il DataBase TblFullSP:
            With ConnSPF
                .ConnectionString = DataConnessione
                .CursorLocation = adUseClient   'tipo di cursore
                .Mode = adModeShareDenyNone     'nessuna limitazione
                .CommandTimeout = 15
                .Open
            End With
            
            OggSPF.ActiveConnection = ConnSPF
            OggSPF.CommandType = adCmdText
    
    'Prima di salvare Elimina i vecchi records dalla tabella - TblFullSP:
            OggSPF.CommandText = "Delete * From TblFullSP"
            OggSPF.Execute
    
    'Salva:
            OggSPF.CommandText = "insert into TblFullSP(Descrizione, Anno1, Anno2, ..., ...)" _
            & "values ('" & Replace(FrmSP.Txt1SPL.Text, "'", "''") & "', '" & (FrmSP.Txt1SP.Text) & "',  '" & (FrmSP.Txt2SP.Text) & "', '" & (...) & "');"
            OggSPF.Execute
    
    ... ... ...
    'Chiude la connessione - TblFullSP:
            ConnSPF.Close
            Set ConnSPF = Nothing
    
    End Sub
    LM

  3. #3
    non riesco a capire come collego ad esempio la textbox nome con il campo nome della tabella del mil database.

    tb1fullsp è il nome del database o è la tabella???

    perchè prima di salvare devo eliminare i vecchi records??

  4. #4
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    La tua "textbox nome con il campo nome" corrisponde a "FrmSP.Txt1SPL.Text" come vedi davanti è inserita la funzione Replace che evita errori nel caso la stringa contenga apostrofi (tipo:"d' avanzo" .
    TblFullSP è il nome della Tabella del db. Non è necessario che prima cancelli i dati della Tabella.
    LM

  5. #5
    ho provato a fare come mi hai detto, ma forse non hai capito il mio porblema.

    Te lo spiego meglio:

    ho un database con una tabella e per inserire i dati in questa tabella ho messo in una form diverse TextBox (nome, cognome, ecc) poi ho messo un CommandButton (inserisci) che cliccandolo mi deve inserire nei campi della tabella del mio database le informazioni che ho inserito nei textbox.

    solo che non so proprio come fare...

    Ti dico subito che non sono un asso con visual basic ma purtroppo devo fare sto progetto

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Cercherò di personalizzare il codice visto che l'esempio non ti è servito - Inserisce Nome, Cognome ed Indirizzo in una Tabella di nome TblAnagrafe - in un DB Access dal nome da definire (NomeDB.mdb):
    codice:
    Public DataConnessione As String
    '-------------------------------
    
    DataConnessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\NomeDB.mdb;Persist Security Info=False;"
    '-------------------------------
    
    Public Sub SalvaDati()
            On Error Resume Next
    'Inserimento dei dati nel DB - TblAnagrafe:
            Dim OggSPF As New ADODB.Command
            Dim ConnSPF As New ADODB.Connection
     
     'Esegue la connessione con il DataBase - TblAnagrafe:
            With ConnSPF
                .ConnectionString = DataConnessione
                .CursorLocation = adUseClient   'tipo di cursore
                .Mode = adModeShareDenyNone     'nessuna limitazione
                .CommandTimeout = 15
                .Open
            End With
            
            OggSPF.ActiveConnection = ConnSPF
            OggSPF.CommandType = adCmdText
    
    'Salva/Inserisce i dati nel DB:
            OggSPF.CommandText = "insert into TblAnagrafe(Nome, Cognome, Indirizzo)" _
            & "values ('" & Replace(Frm1.TxtNome.Text, "'", "''") & "', '" & (Frm1.TxtCognome.Text) & "',  '" & (Frm1.TxtIndirizzo.Text) & "');"
            OggSPF.Execute
    
    'Chiude la connessione - TblAnagrafe:
            ConnSPF.Close
            Set ConnSPF = Nothing
    End Sub
    LM

  7. #7
    subito un errore qui:

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="


    Errore di compilazione: non valido all'esterno di una routine


    Come risolvo???

  8. #8
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    E' semplice devi creare una routine:
    Public Sub DataConnessione2()
    DataConnessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\NomeDB.mdb;Persist Security Info=False;"
    End Sub
    LM

  9. #9
    inserisci
    DataConnessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\NomeDB.mdb;Persist Security Info=False;"
    all'interno della Public Sub SalvaDati()
    Ciao

  10. #10
    ok, adesso non mi da nessun errore, ma quando ho inserito i dati e clicco sul bottone che ho chiamato salva, non succede nulla...

    io voglio che mi inserisce i dati nel database e si chiude la form

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.