| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  10-02-2008, 18:53 | #1 | 
| Senior Member Iscritto dal: Feb 2003 
					Messaggi: 2816
				 | 
				
				[VB.NET] Inserire un nuovo record
			 
		Per inserire un nuovo record posso seguire questa sintassi: Dim command As New OleDb.OleDbCommand command = New OleDbCommand("INSERT INTO DvdStorico (Titolo,NCD) VALUES(?,?)", Conn) command.Parameters.Add("@Titolo", OleDbType.Char, 50).Value = Me.txtTitolo.Text command.Parameters.Add("@NCD", OleDbType.Char, 50).Value = Me.txtNCD.Text command.ExecuteNonQuery() ------------------------------------------------------------- cosi facendo scrivo direttamente nel DB, però se ho una griglia con i dati non mi vengono agiornati. Oppure posso inserire un nuovo record nel dataset e poi fare l'UPDATE di tutto il dataset 1) Come faccio nel primo casa ad aggirornare una griglia inserendo direttamente il record nel DB 2) Qual'è la strada migliore per inserire un nuovo record?? Scriverlo direttamente nel db oppure salvarlo nel dataset e aggiornare il tutto. Ciao e grazieeeeeeeeeeee 
				__________________ AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER | 
|   |   | 
|  12-02-2008, 16:18 | #2 | |
| Senior Member Iscritto dal: Nov 2004 Città: TE 
					Messaggi: 3995
				 | Quote: 
 programmo in C#, ma esso e VB sono molto simili (anche per il fatto che il framework è quello  ) comunque: Consiglio 1: usa il DataSet il + possibile Consiglio 2: per griglia cosa intendi ? un controllo DataGrid o DataGridview per caso? Quando utilizzo il datagridview, prima agisco sul Dataset, e , successivamente aggiorno il Datasource del datagridview ponendolo uguale al dataset: Ad esempio (in C#, ma è semplicissimo adattarlo a VB): DataSet mioDataSet = new DataSet(); SqlConnection connessione = new SqlConnection(); con.ConnectionString = "stringa di connessione"; SqlCommand com = new SqlCommand("selezione bla bla bla"); SqlDataAdapter adatt = new SqlDataAdapter(); adatt.SelectCommand = com; adatt.Fill(mioDataSet); dataGridView1.DataSource = mioDataSet; dataGridView1.DataMember = mioDataSet.Tables[0].TableName; Potresti anche usare un BindingSource comunque... specie se ti affidi molto al copia/incolla dei controlli WinForms. Spero di esserti stato un minimo d'aiuto   
				__________________ Ho concluso positivamente con: Theninja1, Palu15, Dario2, GiovanniCT, Kolzig12, nino.nino, river, LupinRS, Tazmania,RedPrimula,avware,netcrusher,Riki90,tenebrio,athlon87,fausto61 | |
|   |   | 
|  12-02-2008, 16:21 | #3 | 
| Senior Member Iscritto dal: Nov 2004 Città: TE 
					Messaggi: 3995
				 | 
		Uhmmm mi sa che ho dimenticato di scriverti del metodo Refresh e Update di Datagridview... In questo momento sto lavorando su Java e ho perso un pò di smalto su .NEt  Comunque se non risolvi stasera ti controllo dal Pc di casa   
				__________________ Ho concluso positivamente con: Theninja1, Palu15, Dario2, GiovanniCT, Kolzig12, nino.nino, river, LupinRS, Tazmania,RedPrimula,avware,netcrusher,Riki90,tenebrio,athlon87,fausto61 | 
|   |   | 
|  12-02-2008, 16:28 | #4 | 
| Senior Member Iscritto dal: Feb 2003 
					Messaggi: 2816
				 | 
				
				ok
			 
		Ok ti ringrazio, ora provo Cmq tu dici ci aggiungere il record nel dataset e poi fare update del dataset che automaticamente scrive nel DB vero 
				__________________ AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER | 
|   |   | 
|  12-02-2008, 16:33 | #5 | |
| Senior Member Iscritto dal: Nov 2004 Città: TE 
					Messaggi: 3995
				 | Quote: 
 Cmq, stasera ti controllo meglio su qualche prog del mio harddisk 
				__________________ Ho concluso positivamente con: Theninja1, Palu15, Dario2, GiovanniCT, Kolzig12, nino.nino, river, LupinRS, Tazmania,RedPrimula,avware,netcrusher,Riki90,tenebrio,athlon87,fausto61 | |
|   |   | 
|  12-02-2008, 16:38 | #6 | |
| Senior Member Iscritto dal: Feb 2003 
					Messaggi: 2816
				 | 
				
				Ascolta
			 Quote: 
 1) Inserire nuovo record su dataset 2) Modificare un record su dataset 3) Eliminare un record su dataset 4) Aggiornamento del dataset con scrittura su DB Ti ho chiesto troppo???? Se puoi ti ringrazio....se non hai tempo non importa Ciao e grazieeeeeeeee 
				__________________ AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER | |
|   |   | 
|  12-02-2008, 17:36 | #7 | |
| Senior Member Iscritto dal: Nov 2004 Città: TE 
					Messaggi: 3995
				 | Quote: 
  Ovviamente in C#, ma tanto il procedimento è quello   
				__________________ Ho concluso positivamente con: Theninja1, Palu15, Dario2, GiovanniCT, Kolzig12, nino.nino, river, LupinRS, Tazmania,RedPrimula,avware,netcrusher,Riki90,tenebrio,athlon87,fausto61 | |
|   |   | 
|  12-02-2008, 19:16 | #8 | 
| Senior Member Iscritto dal: Nov 2004 Città: TE 
					Messaggi: 3995
				 | 
		Allora, ho recuperato adesso un programmino con cui gestisco una libreria semplicissima. Ho utilizzato il BindingSource. Dunque, l'inserimento, modifica e cancellazione le lascio fare completamente grafiche (ho solo aggiunto un ErrorProvider per gestire obbligatorietà e formato di alcuni campi di testo). Ciò che faccio per conto mio è la Select. Ti incollo un frammento: public void Cerca() { string stringaConnessione = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\Data\libreria.mdb;"; string query = "Select * from libri where titolo like @titolo " + "AND autori LIKE @autori " + "AND casaed LIKE @casaed "+//+ "AND qta < @qta"; OleDbConnection connessione = new OleDbConnection(stringaConnessione); OleDbDataAdapter adatt = new OleDbDataAdapter(); adatt.SelectCommand = new OleDbCommand(); adatt.SelectCommand.Connection = connessione; adatt.SelectCommand.CommandText = query; DataSet mioDataSet = new DataSet(); // inserisco parametry per query adatt.SelectCommand.Parameters.AddWithValue("titolo", "%"+txtFindTitolo.Text+"%"); adatt.SelectCommand.Parameters.AddWithValue("autori", "%" + txtFindAutori.Text + "%"); adatt.SelectCommand.Parameters.AddWithValue("casaed", "%" + txtFindCasaEd.Text + "%"); if (isNumeric(txtFindQta.Text)) adatt.SelectCommand.Parameters.AddWithValue("qta", Int32.Parse(txtFindQta.Text)); else adatt.SelectCommand.Parameters.AddWithValue("qta", Int32.MaxValue); connessione.Open(); adatt.Fill(mioDataSet, "libri"); connessione.Close(); libriBindingSource.DataSource = mioDataSet; libriDataGridView.DataSource = libriBindingSource; libriDataGridView.Enabled = true; // Visualizzo in textbox il numero di risultati ottenuti textBox1.Text = mioDataSet.Tables[0].Rows.Count.ToString(); } Il libriBindingSource viene creato da VisualStudio. 
				__________________ Ho concluso positivamente con: Theninja1, Palu15, Dario2, GiovanniCT, Kolzig12, nino.nino, river, LupinRS, Tazmania,RedPrimula,avware,netcrusher,Riki90,tenebrio,athlon87,fausto61 | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 18:34.









 
		 
		 
		 
		







 
  
 



 
                        
                        










