Quote:
Originariamente inviato da OrcaAssassina
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
|
Ciao,
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