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
Inserimento contemporaneo su più tabelle
mercoledì 28 settembre 2005 - 16.56
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
geo
Profilo
| Newbie
3
messaggi | Data Invio:
mer 28 set 2005 - 16:56
Salve a tutti!
Io vorrei fare pagina dove l'utente compila i vari campi e il contenuto verrà trasmesso ad una banca dati sql server.
Finche si trattava di mandare i dati soltanto su una tabella no problem...invece io devo mandarli su 2 tabelle!
Ho la tabella Persona con attributi: nome cognome ecc e la tabella Indirizzo. Nella tabella persona c'è la chiave esterna della tabella indirizzo. In teoria 2 chiavi esterne (una per indirizzo privato e una per indirizzo dell'ufficio)
Ho fatto in questo modo perche voglio dare la possibilità di registrare l'indirizzo privato e l'indirizzo dell'ufficio di ogni persona.
Io ho scritto questo script .... ma mi resistra solo la tabella persona. qualcuno mi potrebbe aiutare???
Private Sub InserisciDati()
Dim conn As New SqlConnection("XXX")
conn.Open()
Dim trans As SqlTransaction
trans = conn.BeginTransaction()
Dim comm As SqlCommand = New SqlCommand
comm.Connection = conn
Try
comm.CommandText = "INSERT INTO Indirizzo (Via, NAP, Localita, Nazione, Telefono, Natel) VALUES (@via, @nap, @localita, @nazione, @telefono,@natel)"
comm.Parameters.Add("@via", SqlDbType.VarChar).Value = txtViaPr.Text
comm.Parameters.Add("@nap", SqlDbType.VarChar).Value = txtNapPr.Text
comm.Parameters.Add("@localita", SqlDbType.VarChar).Value = txtLocalitaPr.Text
comm.Parameters.Add("@nazione", SqlDbType.VarChar).Value = txtNazionePr.Text
comm.Parameters.Add("@telefono", SqlDbType.VarChar).Value = txtTelefonoPr.Text
comm.Parameters.Add("@natel", SqlDbType.VarChar).Value = txtNatelPr.Text
comm.ExecuteNonQuery()
comm.CommandText = "SELECT @@identity from Indirizzo"
Dim valore As Integer
valore = System.Convert.ToInt32(comm.ExecuteScalar())
comm.CommandText = "INSERT INTO Persona (IDPersona,Intestazione,Nome, Cognome, Societa, Email, IDIndirizzoPr, IDIndirizzoUff) VALUES (@idpersona,@intestazione,@nome, @cognome, @societa, @email,@idindirizzopr,@indirizzouff)"
Dim privato As New SqlParameter("@idindirizzopr", SqlDbType.Int)
Dim ufficio As New SqlParameter("@indirizzouff", SqlDbType.Int)
comm.Parameters.Add(privato)
comm.Parameters.Add(ufficio)
comm.Parameters.Add("@intestazione", SqlDbType.VarChar).Value = txtIntestazione.Text
comm.Parameters.Add("@nome", SqlDbType.VarChar).Value = txtNome.Text
comm.Parameters.Add("@cognome", SqlDbType.VarChar).Value = txtCognome.Text
comm.Parameters.Add("@societa", SqlDbType.VarChar).Value = txtSocieta.Text
comm.Parameters.Add("@email", SqlDbType.VarChar).Value = txtEmail.Text
'Dim item As ListItem
'For Each item In prova.Items
'If item.Selected() Then
privato.Value = valore
ufficio.Value = valore
comm.ExecuteNonQuery()
' End If
'Next
trans.Commit()
prova2.Text = "inserimento effettuato"
Catch ex As SqlException
trans.Rollback()
prova2.Text = ex.Message
Catch exm As SqlException
prova2.Text = exm.Message
Finally
conn.Close()
End Try
End Sub
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 28 set 2005 - 18:08
hai riepito il command.transaction= trans? non mi sembra..
Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
geo
Profilo
| Newbie
3
messaggi | Data Invio:
gio 29 set 2005 - 15:07
avevi ragione!
adesso funziona. ho messo a posto anche altri errori!
comunque io vorrei provare ad usare stored procedure, soltanto che non l'ho mai fatto.
per esempio in questo caso come potrei fare?
almeno da avere un esempio di base....
grazie
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 !