Eliana Bigosinski
09-07-2006, 10:36 PM
Olá pessoal
Sou iniciante em .NETCF e já consegui fazer bastante coisa relacionadas com
tabelas de dados, porém, estou com uma dúvida no qual ainda não consegui
encontrar nenhuma informação que me ajudasse.
Tenho uma tabela e desejo "navegar" por ela sequenciamente, ou seja, ficar
"andando" registro a registro para eu fazer uma determinada comparação. Se
esta comparação for verdadeira, desejo excluir o registro. Alguém pode
auxiliar-me com dúvida?
Com o eVB era fácil, eu abria a tabela e através de um laço While Not
RecordSet.EOF / RecordSet.MoveNext / Wend eu conseguia fazer isso, comparar
e excluir, mas no NETCF + VB.NET não encontrei uma forma para fazer isso.
Já tentei abrir a tabela usando SqlServerCE.SqlDataReader mais não achei
nenhuma forma de deletar o registro. Já tentei também com este código e não
consegui também. Qualquer ajuda será bem vinda! Grata.
Dim strSQL As String = "SELECT CLI_CODCLIENTE,CLI_RAZAOSOCIAL FROM CLIENTE
ORDER BY CLI_CODCLIENTE;"
Dim strCod As String = ""
Dim strDes As String = ""
Dim intInd As Integer = 0
Dim adpAdapt As New System.Data.SqlServerCe.SqlCeDataAdapter(strSQL,
cnxConexao)
Dim dstVisita As New DataSet
Try
adpAdapt.SelectCommand.CommandText = strSQL
adpAdapt.Fill(dstVisita, "CLIENTE")
For intInd = 0 To (dstVisita.Tables("CLIENTE").Rows.Count - 1)
If strCod <>
dstVisita.Tables("CLIENTE").Rows(intInd).Item("CLI_CODCLIENTE") Then
strCod =
dstVisita.Tables("CLIENTE").Rows(intInd).Item("CLI_CODCLIENTE")
strDes =
dstVisita.Tables("CLIENTE").Rows(intInd).Item("CLI_RAZAOSOCIAL")
Else
dstVisita.Tables("CLIENTE").Rows(intInd).Delete()
'adpAdapt.Update(dstVisita, "CLIENTE") ---> tive que colocar um
comentário porque dava erro aqui
dstVisita.Tables("CLIENTE").AcceptChanges()
End If
Next
adpAdapt.Dispose()
Catch err As System.Data.SqlServerCe.SqlCeException
MessageBox.Show(err.Message)
Catch ex As Exception
MessageBox.Show(err.Description)
Finally
adpAdapt = Nothing
dstVisita = Nothing
End Try
Sou iniciante em .NETCF e já consegui fazer bastante coisa relacionadas com
tabelas de dados, porém, estou com uma dúvida no qual ainda não consegui
encontrar nenhuma informação que me ajudasse.
Tenho uma tabela e desejo "navegar" por ela sequenciamente, ou seja, ficar
"andando" registro a registro para eu fazer uma determinada comparação. Se
esta comparação for verdadeira, desejo excluir o registro. Alguém pode
auxiliar-me com dúvida?
Com o eVB era fácil, eu abria a tabela e através de um laço While Not
RecordSet.EOF / RecordSet.MoveNext / Wend eu conseguia fazer isso, comparar
e excluir, mas no NETCF + VB.NET não encontrei uma forma para fazer isso.
Já tentei abrir a tabela usando SqlServerCE.SqlDataReader mais não achei
nenhuma forma de deletar o registro. Já tentei também com este código e não
consegui também. Qualquer ajuda será bem vinda! Grata.
Dim strSQL As String = "SELECT CLI_CODCLIENTE,CLI_RAZAOSOCIAL FROM CLIENTE
ORDER BY CLI_CODCLIENTE;"
Dim strCod As String = ""
Dim strDes As String = ""
Dim intInd As Integer = 0
Dim adpAdapt As New System.Data.SqlServerCe.SqlCeDataAdapter(strSQL,
cnxConexao)
Dim dstVisita As New DataSet
Try
adpAdapt.SelectCommand.CommandText = strSQL
adpAdapt.Fill(dstVisita, "CLIENTE")
For intInd = 0 To (dstVisita.Tables("CLIENTE").Rows.Count - 1)
If strCod <>
dstVisita.Tables("CLIENTE").Rows(intInd).Item("CLI_CODCLIENTE") Then
strCod =
dstVisita.Tables("CLIENTE").Rows(intInd).Item("CLI_CODCLIENTE")
strDes =
dstVisita.Tables("CLIENTE").Rows(intInd).Item("CLI_RAZAOSOCIAL")
Else
dstVisita.Tables("CLIENTE").Rows(intInd).Delete()
'adpAdapt.Update(dstVisita, "CLIENTE") ---> tive que colocar um
comentário porque dava erro aqui
dstVisita.Tables("CLIENTE").AcceptChanges()
End If
Next
adpAdapt.Dispose()
Catch err As System.Data.SqlServerCe.SqlCeException
MessageBox.Show(err.Message)
Catch ex As Exception
MessageBox.Show(err.Description)
Finally
adpAdapt = Nothing
dstVisita = Nothing
End Try