Consiglio per un newbee: textobx e SQL

lunedì 05 dicembre 2005 - 20.55

Mauro01971 Profilo | Newbie

Ciao a tutti, ho un paio di problemini, avevo già postato qua in passato ma volevo camminare con le mie gambe in VB.NET.

Adesso però ho camminato a lungo senza giungere ad una soluzione :-)

Quindi chieo aiuto.
1 -
If radioButtonCreaDB.Checked = True Then
MessageBox.Show("Creo il DataBase ?", "AVVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
MessageBox.Show("In fase di sviluppo")
' Inserire T-SQL x creare DB
Me.Close()
Else
Dim open As New OpenFileDialog()
open.Filter = "Database di SQL Server (*.mdf)|.mdf"
open.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
If open.ShowDialog = Windows.Forms.DialogResult.OK Then
MessageBox.Show(open.FileName, "Apri file", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
Questo per sfogliare alla ricerca di un file .MDF da collegare al programma. Giunto nella cartella dove il file è presente....no viene visualizzato e quindi non è possibile selezionarlo, che succede?

2 -
Voglio popolare varie textbox con i campi del DB SQL, ma non ho idea di come farlo....prima usavo una DataGrid e non c'erano problemi, ma l'aspetto grafico era scadente.
Come posso ovviare?

Grazie per il supporto.

totti240282 Profilo | Guru

documentati sul databinding.

C'è solo un capitano !!!!!!

Cteniza Profilo | Guru

[quote]
1 -
If radioButtonCreaDB.Checked = True Then
MessageBox.Show("Creo il DataBase ?", "AVVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
MessageBox.Show("In fase di sviluppo")
[/quote]
Ma che è questa porcheria di istruzioni?.
MessageBox può essere utilizzata sostanzialmente in due modi:
- come "messaggio" (così come hai fatto tu)
- come "messaggio e richiesta" che restituisce un valore.
Se volevi chiedere conferma all'utente dovevi mettere:
If MessageBox.Show(...) = DialogResult.Yes Then
...
End If
(il secondo messagebox non serve a niente!)

[quote]
Me.Close()
[/quote]
se arriva qui ti chiude la form (non il messagebox) è quello che volevi?

[quote]
Dim open As New OpenFileDialog()
open.Filter = "Database di SQL Server (*.mdf)|.mdf"
open.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
If open.ShowDialog = Windows.Forms.DialogResult.OK Then
MessageBox.Show(open.FileName, "Apri file", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
Questo per sfogliare alla ricerca di un file .MDF da collegare al programma. Giunto nella cartella dove il file è presente....no viene visualizzato e quindi non è possibile selezionarlo, che succede?
[/quote]
Stendiamo un velo pietoso sull'uso del messagebox :)).
Quello che è divertente è
- open.Filename (a che serve?) non vorrai mica aprire per caso un file di sql server come file ? (a parte che ho qualche dubbio che funzioni!).
Sei fortunato a non avere rovinato il database!.
Sql server gestisce la connessione tramite una porta tcp/ip tu non devi entrare in contatto con il file del database ma con il server che lo gestisce.
VB 2005 ti dovrebbe consentire di dare in pasto un file mdf e "lui" si crea la connessione (sempre su una porta tcp/ip).

[quote]
Voglio popolare varie textbox con i campi del DB SQL, ma non ho idea di come farlo....prima usavo una DataGrid e non c'er
ano problemi, ma l'aspetto grafico era scadente.
Come posso ovviare?
[/quote]
Prova a guardare il mio blog per un esempio di databinding (ma con access, forse è meglio che cominci con questo!).
http://community.visual-basic.it/lucianob/archive/2005/11/19/16583.aspx
In ogni caso ti consiglio vivamente di imparare ado.net.
Prima però devi prendere dimestichezza anche con vb.net.
Prendi i 101 esempi e guardali con attenzione!



Mauro01971 Profilo | Newbie

[quote]
If radioButtonCreaDB.Checked = True Then
MessageBox.Show("Creo il DataBase ?", "AVVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
MessageBox.Show("In fase di sviluppo")
[/quote]

La 2nda msgbox è perchè non volevo lasciare il codice scoperto visto che non ho ancora pronto il da farsi...Infatti per ora non mi serve che restituisca nessun valore.


[quote]
Me.Close()
se arriva qui ti chiude la form (non il messagebox) è quello che volevi?
[/quote]

Si, poichè ho una form che fà solo quello, poi passo ad un'altra con la GUI del programma.

[quote]
Questo per sfogliare alla ricerca di un file .MDF da collegare al programma. Giunto nella cartella dove il file è presente....no viene visualizzato e quindi non è possibile selezionarlo, che succede?

Stendiamo un velo pietoso sull'uso del messagebox :)).
[/quote]

:-O me lo aveva suggerito uno dei boss del forum....

[quote]
Sql server gestisce la connessione tramite una porta tcp/ip tu non devi entrare in contatto con il file del database ma con il server che lo gestisce.
VB 2005 ti dovrebbe consentire di dare in pasto un file mdf e "lui" si crea la connessione (sempre su una porta tcp/ip).
[/quote]

Ma infatti visto come si presentava la form (non sapevo cosa faceva, era un suggerimento anche questo di uno dei boss) mi sembrava strano che collegasse il DB. Io avevo pensato di memorizzare in una variabile di tipo STRING il percorso assoluto del file per poi utilizzarlo nella composizione della ConnectionString.

Auzz ok mi darò da fare...

Mauro01971 Profilo | Newbie

Ho dato un'occhiata all'esempio che mi hai postato. Così però non ho molto controllo sul comportamento delle textbox.
Cioè se erronemanete modifico un valore nel nome e mi sposto in un'altra texbox il valore sbagliato viene inserito nel DB no?

Cteniza Profilo | Guru

Se alludi al mio blog, non è vero quello che dici.
Scaricati il sorgente dell'esempio e provalo


Cteniza Profilo | Guru

Scusa mi è sfuggito un click di troppo e su questo forum non si possono fare modifiche.
Naturalmente il mio esempio non contiene dei controlli di validazione dei campi.
Ci sono fin troppi esempi in rete.
La validazione dei campi tendenzialmente io la faccio quando si esce dal campo (evento leave) oppure prima di "cambiare record" e/o prima degli aggiornamenti e/o durante gli aggiornamenti.
In parole povere in assoluto io decido dove posizionare il mio controllo a seconda del tipo di controllo che devo fare comunque sempre il più tardi possibile.



Mauro01971 Profilo | Newbie

Ok, l'ho provato, ma mi dà un errore
Private Sub SalvaDati()
mBinding.EndCurrentEdit()
DA.Update(DS.tblAmici)
End Sub

Update is Not a member of System.Windows.Forms.BindingSource.

Non è che il VB 2005 beta2 si comporta in maniera diversa?

Premetto che il DB su cui lavoro è parte finale di un corso FSE sul .NET 2003, inoltre stò lavorando su un tempDB.

Cteniza Profilo | Guru

Si compila perfettamente senza problemi, io però ho già la versione definitiva di vs 2005


Mauro01971 Profilo | Newbie

Io non cho i dindini :D e sono pure disoccupato T_T

DBatista Profilo | Newbie

Non serve avere i dindini...scaricati le versioni Express,sono gratuite, studiate apposta per chi vuole studiarci sopra...

Mauro01971 Profilo | Newbie

Ma è in Inglese....
Casomai posso averla da un amico, alla SMAU di Milano abbiamo compilato i moduli di registrazione alla microsoft, io ho la beta2 e lui la express.


Cteniza Profilo | Guru

Vs 2005 beta è scaduto, la licenza dice che non si può utilizzare dopo l'uscita ufficiale (avvenuta il mese scorso).
E' possibile scaricare le versioni "express" gratuitamente oppure ordinare il dvd.


Mauro01971 Profilo | Newbie

Un consoglio, meglio la versione 2003 o 2005? Ho notato quando utilizzavo la 2005 beta2 che ci sono parecchie cose diverse, già mi incasino con la 2003...poi mi scocciano le sottolineature verdi dei consigli tipo quando dichiari na variabile ma non la valorizzi perchè al momento non serve.

Mauro01971 Profilo | Newbie

Un'altra cosa, come faccio a fare la connectionstring per un DB MySQL? Premetto che ho installato XAMPP come Web Server PHP tramite APACHE, ma mi servirebbe anche IIS per ASP. Il fatto è che se và IIS non và APACHE, utilizzano entrambi la porta 80 quindi o 1 o l'altro... non c'è modo per configurare IIS o APACHE per utilizzare altre porte?

Mauro01971 Profilo | Newbie

Correggo, APACHE come Web Server, XAMPP è l'interfaccia amministrativa per gestire MySQL.

Cteniza Profilo | Guru

Non credo che sia una cosa buona proseguire un thread facendo una domanda che non c'entra per nulla.



Mauro01971 Profilo | Newbie

Hai ragione, scusa.

Mauro01971 Profilo | Newbie

Anche se la ConnectionString per MySQL mi servirebbe comunque......

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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5