Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.NET]Creare database .mdb

    Salve, ho la necessità di creare database .mdb in vb.net, nei quali successivamente aggiungerò delle colonne.. Ho trovato questo codice:

    codice:
     Imports ADOX
    
    Dim dbMyOffice As Catalog = New Catalog
    
    dbMyOffice.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyOffice.mdb;Jet OLEDB:Engine Type=5")
    
    dbMyOffice = Nothing
    Solo che mi da come avviso, sottolineando ADOX in Imports ADOX:

    Lo spazio dei nomi o il tipo specificato nelle importazioni 'ADOX' non contiene alcun membro pubblico o non è definito. Accertarsi che lo spazio dei nomi o il tipo sia definito e contenga almeno un membro pubblico e che il nome dell'elemento importato non utilizzi alias.
    E come errore:

    codice:
    Tipo 'Catalog' non definito.
    Quindi come faccio? Avevo tentato di creare un database con microsoft access ma non veniva creato in formato .mdb ma bensì in formato .accdb, leggendo sul sito della microsoft ho capito che questo formato sostituisce .mdb in office 2007 (ovvero la versione che ho io) e in vb 2008 non viene riconosciuto questo formato..
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Perchè se usi il database 2007/2010 (accdb) devi usare il Provider per QUEL database.

    Sostituisci nella stringa di connessione:
    Provider=Microsoft.Jet.OLEDB.4.0

    con:
    Provider=Microsoft.ACE.OLEDB.12.0

    se ti risponde 'picche' allora dovrai installare il driver, non ho il link sottomano, ma basta fare una ricerca sul web.


  3. #3
    Ora non piu' quel problema ma mi da sempre un errore (un msgbox che viene mandato in caso di errore), questi sono i codici:

    codice:
     Dim objconn As OleDbConnection
            Dim stringaconn As String
            Dim stringasql As String
            Dim objcomm As OleDbCommand
            Dim nome As String = Me.nome.Text
            Dim cognome As String = Me.cognome.Text
            stringaconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
            stringaconn = stringaconn & "C:\dati.accdb"
            objconn = New OleDbConnection(stringaconn)
            objconn.Open()
            stringasql = "Insert into dati(nome,cognome) values('"
            stringasql = stringasql & nome & "'" & ","
            stringasql = stringasql & "'" & cognome & "'" & ")"
            objcomm = New OleDbCommand(stringasql, objconn)
            Dim risputente As Integer
            Try
                risputente = objcomm.ExecuteNonQuery()
                If risputente = 1 Then
                    MsgBox("Inserimento effettuato con successo")
                    objconn.Close()
                    Me.cognome.Text = ""
                    Me.nome.Text = ""
                    Me.cognome.Focus()
                End If
            Catch es As Exception
                MsgBox("Errore: il campo cognome e/o nome sono vuoti")
                objconn.Close()
            End Try
    E ovviamente nel form ho due textbox chiamati rispettivamente nome e cognome . C:\dati.accdb esiste e contiene i campi nome e cognome e la tabella in cui stanno si chiama "dati". Il codice è preso da una guida qui su html.it e ovviamente all' inizio ho scritto Imports System.Data.OleDb

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.