Ir para conteúdo
Fórum Script Brasil
  • 0

Mudar Nivel De Usuario


mestre fyoda

Pergunta

Estranho , eu coloquei pra avizar o tipo de erro que da , mas não esta dando nenhum erro .

aqui esta o link http://i.1asphost.com/comunidade/nivel_acesso.asp .

formulario para alterar o nivel

<%@ Language=VBScript %>

<BODY>
<FORM action="mudar_nivel.asp" method="Post" name=Form>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("dados.mdb"))
set rs = Server.CreateObject("ADODB.recordset")

SQL = "select * from usuarios" 
RS.Open SQL,Conn,3,3

%>

<table width="434" border="1" cellpadding="0" cellspacing="0" height="43" style="border-collapse: collapse" bordercolor="#CCCCCC">
 <tr>
   <th align="left" bgcolor=#DFE19D width="121" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699"> <b>
     Selecione</b>
   <th align="left" bgcolor=#DFE19D width="118" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699"> <b><font size="2" face="arial"> Nome</font> </b>
   <td align="left" bgcolor=#DFE19D width="129" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699">
     <p align="center"><b><font size="2" face="arial"> Login</font></b></td>
 </tr>
 <%intCounter=0%>
 <%do until rs.EOF%>
 <%
intCounter=intCounter+1
intMod=intcounter mod 2

 if intmod=0 then 
  rcolor = "#c0c0c0"  
 elseif intmod=1 then 
  rcolor = "#FFFFFF"  
 end if
%>
 <tr>
   <td align="left" bgcolor=<%=rcolor%> width="121" height="20">
   <p align="right">
   <font size="2" face="arial" color="BLACK">
   &nbsp;&nbsp;
   <width=35%>Adiministrador<input type=CheckBox name=A value=<%=RS("nivel")%>><br>
   Moderador<input type=CheckBox name=M value=<%=RS("nivel")%>><br>
           Usurio<input type=CheckBox name=U value=<%=RS("nivel")%>><br>
   </font> <td align="left" bgcolor=<%=rcolor%> width="78" height="20"> <font size="2" face="arial" color="BLACK">
     <%Response.Write (RS("nome"))%>
&nbsp;</font>
   <td align="center" bgcolor=<%=rcolor%> width="127" height="20"> <font size="2" face="arial" color="BLACK">
     <%Response.Write(RS("login"))%>
&nbsp;</font>
       <%rs.MoveNext%>
 </font></tr>
 <%

A = Request.Form("A")
M = Request.Form("M")
U = Request.Form("U")

 loop
  SET rs=nothing
  set conn=nothing
  %>

   <% If Request("A") = "on"  Then

strSQL = "UPDATE usuarios set nivel = '"&A&"'"
conexao.Execute(strSQL)
   end if
%>


   <% If Request("M") = "on"  Then

strSQL = "UPDATE usuarios set nivel = '"&M&"'"
conexao.Execute(strSQL)
   end if
%>


   <% If Request("U") = "on"  Then

strSQL = "UPDATE usuarios set nivel = '"&U&"'"
conexao.Execute(strSQL)
   end if
%>

</table>
<input type="submit" value="Atualizar Nivel" name="B1">

</form>
</BODY>
altera o nivel
<%@ Language=VBScript%>

<%

intSno=Request("Delete")

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("dados.mdb"))


id = Request("nivel")

Set rs = conn.Execute("SELECT * FROM usuarios WHERE id = '"&id&"'")

If rs.EOF Then
Response.Write "O usurio no existe!!!"
ElseIf rs("nivel") = "1" Then ' tire as aspas caso seja valor numrico no BD
Response.Write "O man, no pode excluir usurios de nvel 1..."
Else

a=split(intSno,",")


for iLoop=LBound(a) to UBound(a)
intDelid=Trim(a(iLoop))
conn.Execute "update from usuarios where id = " & id & " "
next
Response.Write "O nivel do Usuario foi modificado" 
End If

rs.Close
Set rs = Nothing


%> 

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/comunidade/mudar_nivel.asp, line 14

<%@ Language=VBScript %>

<BODY>
<FORM action="mudar_nivel.asp" method="Post" name=Form>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("dados.mdb"))
set rs = Server.CreateObject("ADODB.recordset")

SQL = "select * from usuarios" 
RS.Open SQL,Conn,3,3

%>

<table width="434" border="1" cellpadding="0" cellspacing="0" height="43" style="border-collapse: collapse" bordercolor="#CCCCCC">
 <tr>
   <th align="left" bgcolor=#DFE19D width="121" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699"> <b>
     Selecione</b>
   <th align="left" bgcolor=#DFE19D width="118" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699"> <b><font size="2" face="arial"> Nome</font> </b>
   <td align="left" bgcolor=#DFE19D width="129" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699">
     <p align="center"><b><font size="2" face="arial"> Login</font></b></td>
 </tr>
 <%intCounter=0%>
 <%do until rs.EOF%>
 <%
intCounter=intCounter+1
intMod=intcounter mod 2

 if intmod=0 then 
  rcolor = "#c0c0c0"  
 elseif intmod=1 then 
  rcolor = "#FFFFFF"  
 end if
%>
 <tr>
   <td align="left" bgcolor=<%=rcolor%> width="121" height="20">
   <p align="right">
   <font size="2" face="arial" color="BLACK">
   &nbsp;&nbsp;
   <width=35%>Adiministrador<input type=CheckBox name=A value=<%=RS("nivel")%>><br>
   Moderador<input type=CheckBox name=M value=<%=RS("nivel")%>><br>
           Usurio<input type=CheckBox name=U value=<%=RS("nivel")%>><br>
   </font> <td align="left" bgcolor=<%=rcolor%> width="78" height="20"> <font size="2" face="arial" color="BLACK">
     <%Response.Write (RS("nome"))%>
&nbsp;</font>
   <td align="center" bgcolor=<%=rcolor%> width="127" height="20"> <font size="2" face="arial" color="BLACK">
     <%Response.Write(RS("login"))%>
&nbsp;</font>
       <%rs.MoveNext%>
 </font></tr>
 <%

A = Request.Form("A")
M = Request.Form("M")
U = Request.Form("U")

 loop
  SET rs=nothing
  set conn=nothing
  %>

   <% If Request("A") = "on"  Then

strSQL = "UPDATE usuarios set nivel = '"&A&"'"
conexao.Execute(strSQL)
   end if
%>


   <% If Request("M") = "on"  Then

strSQL = "UPDATE usuarios set nivel = '"&M&"'"
conexao.Execute(strSQL)
   end if
%>


   <% If Request("U") = "on"  Then

strSQL = "UPDATE usuarios set nivel = '"&U&"'"
conexao.Execute(strSQL)
   end if
%>

</table>
<input type="submit" value="Atualizar Nivel" name="B1">

</form>
</BODY>
mudar_nivel.asp
<%@ Language=VBScript%>

<%

intSno=Request("Delete")

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("dados.mdb"))


id = Request("nivel")

Set rs = conn.Execute("SELECT * FROM usuarios WHERE id = '"&id&"'")

If rs.EOF Then
Response.Write "O usurio no existe!!!"
ElseIf rs("nivel") = "1" Then ' tire as aspas caso seja valor numrico no BD
Response.Write "O man, no pode excluir usurios de nvel 1..."
Else

a=split(intSno,",")


for iLoop=LBound(a) to UBound(a)
intDelid=Trim(a(iLoop))
conn.Execute "update from usuarios where id = " & id & " "
next
Response.Write "O nivel do Usuario foi modificado" 
End If

rs.Close
Set rs = Nothing


%> 

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Carlos Seji

seu erro esta na linha 14, pois no select você tenta buscar o id como se fosse texto e ele deve de ser um numero, ou seja, ele não vai entre aspas simples.

errado

Set rs = conn.Execute("SELECT * FROM usuarios WHERE id = '"&id&"'")
correção
Set rs = conn.Execute("SELECT * FROM usuarios WHERE id = "&id)

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Carlos Seiji

mais uma coisa pelo update que você deu você vai atualizar todo sua tabela.

utilize where no seu update

ex.:

onde num_id é uma variavel que vai guardar o valor do id do registro a ser atualizado
strSQL = "UPDATE usuarios set nivel = '"&A&"' where id="&num_id
conexao.Execute(strSQL)

Link para o comentário
Compartilhar em outros sites

  • 0

Agora eu substitui o checkbox por radio , reformulei o meu codigo mas continua dando erro :

404 Page not found

nivel_acesso.asp

<%@ Language=VBScript %>
<%OPTION EXPLICIT%>
<BODY>
<FORM action="mudar_nivel.asp" method="Post" name=Form>

<%
Dim conn,rs,intCounter,intMod,rcolor
	set conn=Server.CreateObject("ADODB.Connection")
	conn.Provider="Microsoft.Jet.OLEDB.4.0"
	conn.Open(Server.Mappath("dados.mdb"))
	set rs = Server.CreateObject("ADODB.recordset")

rs.Open "SELECT usuarios.id,usuarios.login, usuarios.nome , usuarios.nivel from usuarios order by usuarios.login", conn

%>
<center>
<table width="647" border="1" cellpadding="0" cellspacing="0" height="43" style="border-collapse: collapse" bordercolor="#CCCCCC" class="TD">
  <tr>
    <th align="left" bgcolor=#DFE19D width="392" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699"> <b>
      <center>Selecione</center></b>
    <th align="left" bgcolor=#DFE19D width="179" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699"> <b><font size="2" face="arial" class="TD"> <center>Login</center></font> </b>
    <td align="left" bgcolor=#DFE19D width="189" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699">
      <p align="center"><b><font size="2" face="arial" class="TD"> Nome</font></b></td>
          <td align="left" bgcolor=#DFE19D width="265" height="13" bordercolor="#FFFFFF"  bordercolordark="#006699">
      <p align="center"><b><font size="2" face="arial" class="TD"> Status</font></b></td>
  </tr>
  <%intCounter=0%>
  <%do until rs.EOF%>
  <%
intCounter=intCounter+1
intMod=intcounter mod 2

  if intmod=0 then 
  	rcolor = "#c0c0c0"  
  elseif intmod=1 then 
  	rcolor = "#FFFFFF"  
  end if
%>
  <tr>
    <td align="left" bgcolor=<%=rcolor%> width="392" height="20">
    <font size="2" face="arial" color="BLACK" class="TD">
    <width=35%>
    <input type="radio" name="Muda_Nivel" value="Adiministrador">Administrador&nbsp;
    <input type="radio" name="Muda_Nivel" value="Moderador" > Moderador&nbsp;&nbsp;&nbsp;
    <input type="radio" name="Muda_Nivel" value="Usuario" checked>Usuario</font>
    <td align="left" bgcolor=<%=rcolor%> width="113" height="20"> <font size="2" face="arial" color="BLACK" class="TD">
      <center><%Response.Write (rs("login"))%></center>
&nbsp;</font>
    <td align="center" bgcolor=<%=rcolor%> width="95" height="20"> <font size="2" face="arial" color="BLACK" class="TD">
     <center> <%Response.Write(rs("nome"))%></center>
&nbsp;</font>
    <td align="center" bgcolor=<%=rcolor%> width="21" height="20"> <font size="2" face="arial" color="BLACK" class="TD">
      <center><%Response.Write(rs("nivel"))%></center>
&nbsp;</font>
      <%rs.MoveNext%>
  </tr>
  <%loop
  	SET rs=nothing
  	set conn=nothing
  	%>
</table>
<BR><BR>
<input  class="botao" type="submit" value="Mudar Nivel" name="B1">
</center> 

</form>
</BODY>
</html>
mudar_nivel.asp
<%@ Language=VBScript%>
<% Option Explicit %>
<%
	Dim intSno,intDelSno,conn,a
	intSno=Request("Muda_Nivel")

	set conn=Server.CreateObject("ADODB.Connection")
	conn.Provider="Microsoft.Jet.OLEDB.4.0"
	conn.Open(Server.Mappath("dados.mdb"))

	a=split(intSno,",")

	dim iLoop
	for iLoop=LBound(a) to UBound(a)
  intDelSno=Trim(a(iLoop))
  conn.Execute "update from usuarios where id=" & intDelSno & ""
	next
  Response.Redirect "ViewDir.asp"
	conn.Close
	set conn=nothing
%>

Link para o comentário
Compartilhar em outros sites

  • 0

quando dá o erro?

o que você faz pra dar o erro?

nós não temos como testar pra ver o erro

mas, veja aqui:

<%@ Language=VBScript%>

<% Option Explicit %>

<%

Dim intSno,intDelSno,conn,a

intSno=Request("Muda_Nivel")

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("dados.mdb"))

a=split(intSno,",")

dim iLoop

for iLoop=LBound(a) to UBound(a)

intDelSno=Trim(a(iLoop))

conn.Execute "update from usuarios where id=" & intDelSno & ""

next

Response.Redirect "ViewDir.asp"

conn.Close

set conn=nothing

%>

o nome da página que deve ser aberta, é VIEWDIR.asp mesmo?

Link para o comentário
Compartilhar em outros sites

  • 0

ql era o erro?

diga como resolver agora!

Link para o comentário
Compartilhar em outros sites

  • 0
valeu dark mas não era apenas esse erro , já concertei , grato

hehe

que bom que concertou.

agora, posta aí qual era o erro, pra gente saber

ate mais

Link para o comentário
Compartilhar em outros sites

  • 0

aff... o cara é fod* mesmo!

esclareceu a sua dúvida, mas não a nossa agora!

deixa quieto que é melhor...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...