DUVIDA SOBRE COMANDOS
Private Sub subAlterar()
Dim sSQL As String
Dim rs As New ADODB.Recordset
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] SELECT [Ô]
sSQL = sSQL & [Ô] senha [Ô]
sSQL = sSQL & [Ô] FROM [Ô]
sSQL = sSQL & [Ô] loguin [Ô]
sSQL = sSQL & [Ô] WHERE [Ô]
sSQL = sSQL & [Ô] cod=[Ô] & txt(0).Text & [Ô] [Ô]
If rs.State = 1 Then rs.Close
rs.Open sSQL, Conn, adOpenDynamic
If rs.EOF = False Then
If rs(0) = txt(2).Text Then
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] UPDATE [Ô]
sSQL = sSQL & [Ô] loguin[Ô]
sSQL = sSQL & [Ô] SET [Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(1).Text & [Ô][ô] [Ô]
sSQL = sSQL & [Ô] WHERE [Ô]
sSQL = sSQL & [Ô] cod=[ô][Ô] & txt(0).Text & [Ô][ô] AND[Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(2).Text & [Ô][ô] [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Senha alterada com sucesso![Ô], vbInformation, [Ô]Senha Alterada[Ô]
Else
MsgBox [Ô]Senha não alterada![Ô], vbCritical, [Ô]Dados Incorretos[Ô]
Unload Me
End If
End If
End Sub
Esse frm está funcionando corretamente, ele server para alterar senha de um usuário que esteja logado usando um código, só que em especial esses em negrito eu tenho dúvida e não saberia como usar... será que alguém com mais experiência poderia estar me postando o que eles fazem o significado ou até mesmo me postar o código comentado para que eu possa salvar em meu projeto...
Dim sSQL As String
Dim rs As New ADODB.Recordset
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] SELECT [Ô]
sSQL = sSQL & [Ô] senha [Ô]
sSQL = sSQL & [Ô] FROM [Ô]
sSQL = sSQL & [Ô] loguin [Ô]
sSQL = sSQL & [Ô] WHERE [Ô]
sSQL = sSQL & [Ô] cod=[Ô] & txt(0).Text & [Ô] [Ô]
If rs.State = 1 Then rs.Close
rs.Open sSQL, Conn, adOpenDynamic
If rs.EOF = False Then
If rs(0) = txt(2).Text Then
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] UPDATE [Ô]
sSQL = sSQL & [Ô] loguin[Ô]
sSQL = sSQL & [Ô] SET [Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(1).Text & [Ô][ô] [Ô]
sSQL = sSQL & [Ô] WHERE [Ô]
sSQL = sSQL & [Ô] cod=[ô][Ô] & txt(0).Text & [Ô][ô] AND[Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(2).Text & [Ô][ô] [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Senha alterada com sucesso![Ô], vbInformation, [Ô]Senha Alterada[Ô]
Else
MsgBox [Ô]Senha não alterada![Ô], vbCritical, [Ô]Dados Incorretos[Ô]
Unload Me
End If
End If
End Sub
Esse frm está funcionando corretamente, ele server para alterar senha de um usuário que esteja logado usando um código, só que em especial esses em negrito eu tenho dúvida e não saberia como usar... será que alguém com mais experiência poderia estar me postando o que eles fazem o significado ou até mesmo me postar o código comentado para que eu possa salvar em meu projeto...
Certo amigo ae vai
[ô]Verifica se o recordset esta aberto caso o state esteje 1 ele fecha com o close
If rs.State = 1 Then rs.Close
[ô]Abre a conexao recordset da pesquisa sql
rs.Open sSQL, Conn, adOpenDynamic
[ô]Aqui o ideal seria testar o EOF e o BOF, verifica se possui registro no recordset
[ô]If (rsPos.BOF) = False Or (rsPos.EOF) = False Then, caso queira usar dessa maneira da certo também
If rs.EOF = False Then
[ô]Verifca se o atributo senha do recordset está em branco sem valor
If rs(0) = txt(2).Text Then
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] UPDATE [Ô]
sSQL = sSQL & [Ô] loguin[Ô]
sSQL = sSQL & [Ô] SET [Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(1).Text & [Ô][ô] [Ô]
sSQL = sSQL & [Ô] WHERE [Ô]
sSQL = sSQL & [Ô] cod=[ô][Ô] & txt(0).Text & [Ô][ô] AND[Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(2).Text & [Ô][ô] [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Senha alterada com sucesso![Ô], vbInformation, [Ô]Senha Alterada[Ô]
Else
MsgBox [Ô]Senha não alterada![Ô], vbCritical, [Ô]Dados Incorretos[Ô]
Unload Me
End If
End If
End Sub
Ok, obrigado, vou esperar para ver se alguém mais responde, mas está bem explicado... Muito Obrigado!
[ô]se o recordset estiver aberto (1) ele fecha com o close, pois irá abrir ele abaixo
If rs.State = 1 Then rs.Close
[ô]Abre o recordset
rs.Open sSQL, Conn, adOpenDynamic
[ô]aqui eu uso rs.recordcount > 0
[ô]If rs.recordcount > 0 Then - acho mais seguro
If rs.EOF = False Then
[ô]Verifca se o que foi digitado na caixa de texto é igual ao que esta no recordset , se for ele altera
If rs(0) = txt(2).Text Then
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] UPDATE [Ô]
sSQL = sSQL & [Ô] loguin[Ô]
sSQL = sSQL & [Ô] SET [Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(1).Text & [Ô][ô] [Ô]
sSQL = sSQL & [Ô] WHERE [Ô]
sSQL = sSQL & [Ô] cod=[ô][Ô] & txt(0).Text & [Ô][ô] AND[Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(2).Text & [Ô][ô] [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Senha alterada com sucesso![Ô], vbInformation, [Ô]Senha Alterada[Ô]
Else
MsgBox [Ô]Senha não alterada![Ô], vbCritical, [Ô]Dados Incorretos[Ô]
Unload Me
End If
End If
End Sub
If rs.State = 1 Then rs.Close
[ô]Abre o recordset
rs.Open sSQL, Conn, adOpenDynamic
[ô]aqui eu uso rs.recordcount > 0
[ô]If rs.recordcount > 0 Then - acho mais seguro
If rs.EOF = False Then
[ô]Verifca se o que foi digitado na caixa de texto é igual ao que esta no recordset , se for ele altera
If rs(0) = txt(2).Text Then
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] UPDATE [Ô]
sSQL = sSQL & [Ô] loguin[Ô]
sSQL = sSQL & [Ô] SET [Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(1).Text & [Ô][ô] [Ô]
sSQL = sSQL & [Ô] WHERE [Ô]
sSQL = sSQL & [Ô] cod=[ô][Ô] & txt(0).Text & [Ô][ô] AND[Ô]
sSQL = sSQL & [Ô] senha=[ô][Ô] & txt(2).Text & [Ô][ô] [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Senha alterada com sucesso![Ô], vbInformation, [Ô]Senha Alterada[Ô]
Else
MsgBox [Ô]Senha não alterada![Ô], vbCritical, [Ô]Dados Incorretos[Ô]
Unload Me
End If
End If
End Sub
Obrigado aos 2 !
Tópico encerrado , respostas não são mais permitidas