Creare database access da visual studio 2008

sabato 26 dicembre 2009 - 15.51

Mau67 Profilo | Expert

Buone feste a tutto il forum,

Ho un progetto sviluppato in visual studio 2008, e so le tabelle in access, adesso ogni volta che che aggiorno il mio progetto devo prima inserire tabelle e campi in access e poi implementare il progetto.

Io vorrei invece fare creare il database e le tabelle in access quando avvio il progetto facendogli controllare se esiste il database, se esiste non lo ricrea e passa a controllare le tabelle quelle che non trova le crea quelle che trova, controlla i campi e se ci sono dei campi che mancano li aggiunge.

Non ho minimamente idea di come si posa fare qualcuno può darmi una mano Grazie

E ancora buone feste
Mau67

fabricosta Profilo | Newbie

ciao mao,
puoi utilizzare la fileinfo (system.io) per controllare se il file mdb esiste...

imports system
imports system.io

public class miaform

.....

private function controllafile(byval nomefile as string) as boolean
dim Finfo as new fileinfo(nomefile)
if finfo.exsist = false then
return false
else
return true
end if.
end function

end class

......

per quanto riguarda le singole tabelle solitamente metto una tabella standard dove inserisco la versione del DB
'dichiaro una variabile a livello di classe

dim versione as string

private sub recuperavers
using cn as oledbconnection = new oledbconnection(miastringa)
cn.open
dim ssql as string = "select versione from tabella"
cmd = new oledbcommand
cmd.connection = cn
cmd.commandtype = commandtype.text
cmd.commandtext = ssql
try
da.fill(ds, "versdb")
catch ex as exception
messagebox.show(ex.message)
exit sub
end try
try
if ds.tables("versdb").rows.count > 0 then
versione = cstr(ds.tables("versdb").rows(0).item("versione"))
else
versione = ""
end if
catch ex as exception
messagebox.show(ex.message)
versione = ""
end try
end if
cn.close
end using
end sub

, che viene controllata in fase di apertura del progetto con un file statico che contiene la versione.

Private Sub leggidirtesto()
Try
Using sr As StreamReader = New StreamReader(Environment.CurrentDirectory & "versdb.txt")
Dim dir As String
Do
ver = sr.ReadLine
If Not ver Is Nothing Then
recuperavers()
if versione = "" Then creadb
if ver not = versione Then
'richiamaclassegiusta
end if
Else
Exit Do
End If
Loop
End Using
Catch ex As Exception
MessageBox.Show("versione non codificata contattare l'assistenza", "Attenzione!!!", _
MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
End Sub

a seconda della versione richiamo la funzione opportuna (una nuova ad ogni cambiamento) per la creazione/allineamento tabelle/correzione valori.

spero di esserti stato utile.
ciao, Fabrizio

Mau67 Profilo | Expert

Ciao Fabrizio,
Scusa ma nella tabella della versione quanti campi ci sono? che tipo (testo, numerico ecc.)?
Il codice che mi hai postato va inserito tutto nel Form?
Non avresti un esempio di progetto con un solo form dove vedere materialmente come gestisci il codice?
Te ne sarei immensamente grato.

Ciao Maurizio
Mau67
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5