Consiglio

giovedì 18 dicembre 2008 - 09.56

augusto890 Profilo | Junior Member

ciao ragazzi, volevo un consiglio...
volevo realizzare un programma gestionale per uno studio dentistico.
Il linguaggio usato è vb.net...l'unico dubbio che mi assilla...dove salvo i dati che vengono memorizzati?
cioe...finche e un sito internet...tio colleghi a sql server in rete...e via...mentre cosi...per un programma che girerà su un pc locale...e deve memorizzare i dati...cosa posso usare per memorizzare senza installare nient'altro?
Grazie in anticipo

ilario Profilo | Senior Member

puoi usare semplicemente un db access

ciao
ilario

augusto890 Profilo | Junior Member

E si riesce ad usare ovunque? anke su un pc senza odbc?

ilario Profilo | Senior Member

<senza installare nient'altro?

se intendi ado o ... non devi installarlo

quando usavo access facevo così


Public DB As New OleDb.OleDbConnection()

Public Sub ConnettiDB(ByVal NomeDb As String, ByVal Nomeform As Form)

Try
Nomeform.Cursor = Cursors.WaitCursor
DB.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source='" & frmPrincipale.Label1.Text & "database\" & NomeDb & "';jet oledb:database password=boss"

'apri db dati
DB.Open()

Nomeform.Cursor = Cursors.Default
Catch ex As Exception
MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
Nomeform.Cursor = Cursors.Default
End Try



End Sub

Public Sub Chiudidb()
If DB.State = ConnectionState.Open Then
DB.Close()
DB.Dispose()
End If

End Sub


esempio di salva nuovo

Public Function SalvaRecord(ByVal NomeDB As String, ByVal Sql As String, ByVal nrID As String, ByVal NomeForm As Form) As Integer

Try
' salva nel db

ConnettiDB(NomeDB, NomeForm)

Dim cmdNuovo As New OleDb.OleDbCommand(Sql, DB)
Dim records As Integer = cmdNuovo.ExecuteNonQuery()

If nrID = "" Then
cmdNuovo.CommandText = "Select @@identity"
SalvaRecord = CInt(cmdNuovo.ExecuteScalar())
Else
SalvaRecord = CInt(nrID)
End If

cmdNuovo.Dispose()
Chiudidb()

Catch ex As Exception
MessageBox.Show(ex.Message, "Attenzione", MessageBoxButtons.OK, MessageBoxIcon.Error)
Chiudidb()

End Try
End Function

ho fatto un copia e incolla di un vecchio programma
uso tutte sql per insert update delete e select

ciao
ilario

augusto890 Profilo | Junior Member

okok...grazie mille allora...quindi te consigli ttt tramite access? tramite sql server compact? non dici che e piu efficente?

Teech Profilo | Expert

Secondo me molto dipende da quanto presumi diventi corposo il DB e dalle caratteristiche del PC sul quale installerai la tua applicazione. Se i requisiti minimi per il funzionamento dell'applicazione sono molto bassi e la mole di dati è tuttosommato poca puoi usare tranquillamente Access o addirittura dei file XML (tanto poi con ADO.NET lavorerai su dei DataTable indipendentemente dall'origine, quindi anche dei file TXT vanno bene).
Se la mole di dati è corposa e non ti interessano i requisiti minimi (ma un dentista non avrà problemi ad acquistare un PC nuovo) allora puoi usare SQLServer (magari nella versone Express Edition che è gratuita).
Per una panoramica delle possibilità ti consiglio di dare un occhio qui: http://www.connectionstrings.com/ Puoi vedere quante possibilità ci sono e come effettuare la connessione per renderti conto quale si addice di più alle tue esigenze... Il punto da tenere in considerazione è che comunque si lavora con ADO.NET ed il DB serve solo per "persistere" i dati e quindi l'importanza del DB è dettata da esigenze diverse dal codice...

--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

Gianni77 Profilo | Junior Member

Io consiglio firebird, C'è l'addin per il .net e nella versione embedded non hai bisogno di installare driver sulla macchina target ma ti basta copiare soltanto alcune dll, la stringa di connessione è la piu semplice che ci sia, c'è pure il supporto per le transazioni, non ha i limiti di access ecc, puoi trovare soltanto alcune difficoltà con il creare il database iniziale.

Tutte le info le trovi su:
http://firebirdsql.org/dotnetfirebird/

consiglio: sul tuo pc installi sia il server che l'addin per il punto net, ti installi anche un'interfaccia grafica di amministrazione, io utilizzo flamerobin: http://www.flamerobin.org/

L'utilizzo purtroppo non è cosi intuitivo come access (ad esempio per creare un campo auto increment non puoi farlo direttamente ma bisogna creare altri oggetti chiamati "generator" e quindi un "trigger" che scatena l'evento di generazione, ma da flamerobin è piu semplice farlo, basta visualizzare le proprietà della colonna e da li fai tutto), anche se l'intuitività dipende molto dal maggiore utilizzo che uno ne ha fatto. Dato che è un database molto potente, e soprattutto free anche per scopi commerciali, io consiglio di sbatterci un po su la testa per imparare ad utilizzarlo, perchè ne vale davvero la pena, io dopo un giorno di sbattimenti ora lo utilizzo alla grande e ho abbandonato completamente soluzioni come access.

ilario Profilo | Senior Member

sql compact non l'ho mai utilizzato ,
ma non devi installare niente?


ad esempio con il codice che ti ho postato, sono passato da access a sql cambiando semplicemente la stringa di connessione, per tutto il resto è rimasto uguale

ciao
ilario


bluland Profilo | Guru

Beh suppongo che un dentista debba fare la gestione clienti, acconti, fornitori insomma operazioni di normale amministrazione.

Anche io ho fatto alcuni programmi per studi dentistici e ho usato sempre access,
beh cmq penso che sia piu che sufficiente!

Poi se ci sono particolari requisiti...

saluti

--------------------
Vincenzo PESANTE
Software Engineer
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5