|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2005
Città: Roma
Messaggi: 170
|
Aiuto c#
Salve a tutti...
Ho una difficoltà creare l'INSERT nel database... Siccome ho scaricato da internet e stampato i manuali WROX: - Beginning C# 2005 database - Beginning C# 2005 Express Edition - ADO.NET 2 Sono interessanti, ma non c'è proprio come inserire i dati nel database, cioè, ho fatto una maschera con due campi in txtNome e txtCognome e sul pulsante ho messo il codice che i dati compilati verranno memorizzati e registrati nel database SQL SERVER e non sono riuscito! Allora, ricapitolo tutto! prima di creare la maschera, AGGIUNGI NUOVO ELEMENTO -> DATABASE SQL, appena creato il file DATABASE.MDF e nella tabella ho messo: id (primary key e specifica identità SI), nome, cognome Nella maschera ho messo un campo txtNome, txtCognome e un pulsante btnRegistra, sul pulsante btnRegistra ho inserito un codice private void btnRegistra_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(@"server = .\sqlexpress; integrated security = true;"); string query = @"INSERT INTO clienti(nome, cognome)values(@txtNome, @txtCognome)"; SqlCommand cmq = new SqlCommand(query, conn); } Poi, non mi ricordo cosa e come devo inserire all'interno del conn.Open(); e conn.Close(); Vi prego mi potete sinteticamente spiegare? Perchè sui libri non c'è neanche un applicazione semplice da capire!! Poi, secondo voi vanno bene quei libri che ho scaricato e stampati? Aspetto notizia Grazie Cristiano Ultima modifica di z.cristiano : 08-08-2007 alle 22:15. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2002
Città: Roma
Messaggi: 696
|
Dunque il giusto metodo per fare una insert è:
1)Settare la connessione 2)Aprire la connessione 3)Aprire una transazione 4)Creare un comando 5)Associare la connessione aperta al comando 6)Eseguire il comando 7)Commit o Rollback 8)Chiudere la connessione A questo punto puoi utilizzare due tipologie di oggetti che ti permettono (in ADO.NET) di interagire con i DB: DataReader (interazione di tipo connesso, ovvero sei sempre connesso al db durante le tue operazioni) DataSet (interazione di tipo disconnesso, ovvero sei disconesso effettui le tuo operazioni su un porting dei dati in memoria e poi decidi quando aggiornare quest'ultimi sul DB) Per iniziare ti consiglio l'approccio DataReader che ti illustro a seguire: string stringa_di_connesione= "Data Source=.\sqlexpress; Initial Catalog=<MioDB>; Integrated Security = true;"; //Chiaramente sostituisci MioDB con l'effettivo nome del tuo DB SqlConnection conn = new SqlConnection(stringa_di_connesione); string insert = "insert into miatabella(campo1,campo2) values (@campo1,@campo2)"; try { conn.Open(); SqlCommand command = new SqlCommand(insert,conn); SqlTransaction tx = conn.BeginTransaction(); command.Parameters.AddWithValue("@campo1",oggetto1); command.Parameters.AddWithValue("@campo2",oggetto2); command.Transaction = tx; command.ExecuteNoQuery(); // visto che non ci sono valori di ritorno tx.Commit(); }catch (SqlException e){ tx.RollBack(); MessageBox.Show("Errore durante l'inserimento:\n"+e.ToString()+"\n RollBack Eseguito"); } finally{ conn.Close(); } Spero di essere stato chiaro, esco e appena torno commento meglio il tutto. Ciao, Max Ultima modifica di AngeloNero : 15-08-2007 alle 11:57. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:24.



















