Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Passaggio da Acces a Sql 2008 Express con Vb.net
mercoledì 20 aprile 2011 - 20.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
SQL Server 2008 R2
Sileno
Profilo
| Newbie
18
messaggi | Data Invio:
mer 20 apr 2011 - 20:40
Ciao a tutti,
ho sempre creato le mie applicazioni utilizzando Vb.Net ed i db in access.
Ora sono passato ad Db in sql express 2008 e qui iniziano i problemi!
Una mia applicazione creata in Vb.Net collegata ad un Db access funziona perfettamente, portandola in SQL funziona parzialmente, ovvero alcuni istruzioni, come inserire i dati, funzionano altre, come l'aggiornare i dati, non funzionano.
Nello specifico ho questo comando in SQL che non mi riferisce nessun errore ma non aggiorna il db in SQl:
"
Dim connessione As String = "Data Source=Pc-Daniele;Initial Catalog=sief;User Id=sa;Password=mecoioni;"
Dim database As New SqlConnection(connessione)
Dim comandosql As String = "UPDATE docenti SET cognome= '" & TextBox2.Text & "',nome= '" & TextBox3.Text & "',indirizzo= '" & TextBox8.Text & "',citta= '" & TextBox9.Text & "',provincia= '" & TextBox10.Text & "',telefono= '" & TextBox11.Text & "',email= '" & TextBox12.Text & "',fax= '" & TextBox13.Text & "',codice_fiscale= '" & TextBox109.Text & "',partita_iva= '" & TextBox92.Text & "',corsi= '" & TextBox1.Text & "'WHERE ID=" & TextBox4.Text & ""
Dim aggiorna As SqlCommand = New SqlCommand(comandosql, database)
aggiorna.Parameters.Add(New SqlParameter("cognome", TextBox2.Text))
aggiorna.Parameters.Add(New SqlParameter("nome", TextBox3.Text))
aggiorna.Parameters.Add(New SqlParameter("indirizzo", TextBox8.Text))
aggiorna.Parameters.Add(New SqlParameter("citta", TextBox9.Text))
aggiorna.Parameters.Add(New SqlParameter("provincia", TextBox10.Text))
aggiorna.Parameters.Add(New SqlParameter("telefono", TextBox11.Text))
aggiorna.Parameters.Add(New SqlParameter("email", TextBox12.Text))
aggiorna.Parameters.Add(New SqlParameter("fax", TextBox13.Text))
aggiorna.Parameters.Add(New SqlParameter("codice_fiscale", TextBox109.Text))
aggiorna.Parameters.Add(New SqlParameter("partita_iva", TextBox92.Text))
aggiorna.Parameters.Add(New SqlParameter("corsi", TextBox1.Text))
Try
If database.State <> ConnectionState.Open Then database.Open()
aggiorna.ExecuteNonQuery()
MsgBox("Aggiornamento dati effettuato")
Catch ex As Exception
MsgBox("Dati non naggiornati: verifica correttezza")"
Qualche santo potrebbe darmi una dritta, sono nottti che ci perdo il sonno dietro!
Grazie a tutti
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mer 20 apr 2011 - 21:27
Ciao
Hai fatto un pò di confusione!
Perchè usare i parametri quando il valore lo passi nella stringa della query?!?!?
Qui scrivi
UPDATE docenti SET cognome= '" & TextBox2.Text & "',nome ...
E poi aggiungi il parametro cognome
Non ha senso.
Quindi:
UPDATE docenti SET cognome= @Cognome , nome = ...
e poi aggiungo e valorizzo i parametri
aggiorna.Parameters.Add(New SqlParameter("@Cognome", TextBox2.Text))
Guardati questo link e utilzza USING per connetterti al db.
http://msdn.microsoft.com/it-it/library/system.data.sqlclient.sqlcommand.executescalar
(v=VS.90).aspx
Devi inoltre fare attenzione ad un particolare: quando utilizzi un db SQL, Visual Basic dovrebbe crearti una copia "temporanea" del database stesso per preservare l'originale, quindi ogni operazione di inserimento o modifica non verrà salvata se non nella sessione in cui stai lavorando.
Prova
Ciao
alexmed
Torna su
Stanze Forum
Elenco Threads
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 !