Newsgroup: it.comp.lang.visual-basic
Titolo: Delete con ado.net

Sto studiando 
vb.net
 e volevo farvi questa domanda:
Io elimino un record con questo codice:
                Dim strDel As String = "DELETE FROM Clienti WHERE
(IDCliente= " & pid & ")"
                Try
                   Me.OleDbCommand1 = New OleDbCommand(strDel,
Me.OleDbConnection1)
                Me.OleDbCommand1.CommandType = CommandType.Text
                Me.OleDbCommand1.ExecuteNonQuery()
                Catch ex As Exception
                    MessageBox.Show("Error in deleting : " +
ex.Message)
                    Return
                End Try
Il record anche se viene cancellato dal database rimane visibile nella
form.
Solo facendo un refresh non viene più visualizzato:
Private Sub fnRefreshDataSet()
           Me.DataSet11.Clear()
          Me.OleDbDataAdapter1.Fill(Me.DataSet11, "Clienti")
 End Sub
Ma facendo il refresh va sempre al primo record.
Demanda:
1) C'è un altro metodo?
2) Me.DataSet11.Clear() cancella tutti i dataset. Quale è il codice
per eliminare solo "Clienti"?
Grazie

MARCOPO ha scritto:

dim p as integer = bindisource.position
fai il fill
  bindisource.position=p

   bindisource.position=p
Ti ringrazio della risposta.
Però come ho detto sono alle prime armi e non ho capito bene.
forse volevi dei bindingsource.position?
Però non ho trovato esempi di tal genere.
se scrivo:
 Private Sub fnRefreshDataSet()
            Dim p As Integer = bindisource.position
            bindisource.position = p
            Me.DataSet11.Clear()
            'clear the contents of dataset
            Me.OleDbDataAdapter1.Fill(Me.DataSet11, "Clienti")
            bindisource.position = p
        End Sub
Mi dice che deve essere dichiarata.
Puoi aiutarmi?

[CUT ALL]
Al di la del problema di visualizzazione dei record, ti consiglio di non 
fare la concatenazioone dei parametri nella stringa perchè la principale 
causa di SQL Injection.
http://it.wikipedia.org/wiki/SQL_injection
Usa i parametri.
Ciao, Vincenzo 

 ha scritto nel messaggio 
news:99b4f5d7-4822-4eea...@p49g2000hsd.googlegroups.com...
Sto studiando 
vb.net
 e volevo farvi questa domanda:
Io elimino un record con questo codice:
                Dim strDel As String = "DELETE FROM Clienti WHERE
(IDCliente= " & pid & ")"
                Try
                   Me.OleDbCommand1 = New OleDbCommand(strDel,
Me.OleDbConnection1)
                Me.OleDbCommand1.CommandType = CommandType.Text
                Me.OleDbCommand1.ExecuteNonQuery()
                Catch ex As Exception
                    MessageBox.Show("Error in deleting : " +
ex.Message)
                    Return
                End Try
Il record anche se viene cancellato dal database rimane visibile nella
form.
Solo facendo un refresh non viene piů visualizzato:
Private Sub fnRefreshDataSet()
           Me.DataSet11.Clear()
          Me.OleDbDataAdapter1.Fill(Me.DataSet11, "Clienti")
 End Sub
Ma facendo il refresh va sempre al primo record.
Demanda:
1) C'č un altro metodo?
2) Me.DataSet11.Clear() cancella tutti i dataset. Quale č il codice


Molto chiaro grazie.


Ho capito Che DataAdapter ha al suo interno già il command per fare
update/delete ma purtroppo non ho tovato nessun esempio valido.
Puoi farmi un esempio o indicarmi dove scaricare del codice di
esempio?


 ha scritto nel messaggio 
news:aac3e500-8301-4353...@79g2000hsk.googlegroups.com...
Ho capito Che DataAdapter ha al suo interno gią il command per fare
