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

Update Com Checkbox


jucacabala

Pergunta

ola povao

bom aqui pra variar ta dando erro

tenho este form

<form name="cadastro" method="post" action="atualiza_acesso.asp">
  <input name="id" type="hidden" value="<% = rs.Fields("id") %>">
  <table width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td colspan="5" class="arial_textosObs">Listagem de clientes em d&eacute;bito:</td>
          </tr>
          <tr>
            <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="10"></td>
          </tr>
          <tr class="arial_verde">
            <td>C&oacute;digo</td>
            <td>CNPJ</td>
            <td>Raz&atilde;o Social </td>
            <td>Cidade</td>
            <td>Acesso</td>
          </tr>
          <tr>
            <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="5"></td>
            </tr>
    <% 
  	Do While Not rs.Eof
  	If bgColor = "#EEF8F9" Then
    	bgColor = "#F3F3F3"
    Else
    	bgColor = "#EEF8F9"
    End If
    %>
          <tr class="arial_textos" bgcolor="<%=bgColor%>">
            <td><a href="controle_acesso.asp?codl=<% = rs.Fields("id") %>" id="link01"><% = rs.Fields("codigo") %></a></td>
            <td><% = rs.Fields("cnpj") %></td>
            <td><% = rs.Fields("razao") %></td>
            <td><% = rs.Fields("cidade") %></td>
            <td><input name="tipo" type="checkbox" <% If rs("tipo") = 0 then response.Write("checked") End if %> ></td>
          </tr>
          <tr>
            <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="5"></td>
          </tr>
    <%
  	rs.movenext
  	loop
  	set rs = nothing
    %>
          <tr>
            <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="10"></td>
          </tr>
          <tr align="center">
            <td colspan="5"><input name="imageField" type="image" src="../imagens/bt_alterar.gif" width="117" height="25" border="0"></td>
          </tr>
        </table>
  </form>
na pagina de update eu coloquei
<%
	Response.Expires = 0

	DIM conexaodb, rs, str
	Dim tipo, id

	id = Request.Form("id")
	tipo = Request.Form("tipo")
	if tipo = "checked" then
	tipo = 0
	else
	tipo = 1
	end if


	str = "UPDATE usuarios SET "
	str = str & "tipo= " & tipo & ","
	str = str & "WHERE id=" & id
	call abreconexao
	Set rs = conexaodb.Execute(str)

%>

mas ta dando este erro

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na instrução UPDATE.

eu não to conseguindo resolver

sera que alguém pode me dar uma ajuda?

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

você tem que passar algum valor pro checkbox tipu:

<tr class="arial_textos" bgcolor="<%=bgColor%>">

<td><a href="controle_acesso.asp?codl=<% = rs.Fields("id") %>" id="link01"><% = rs.Fields("codigo") %></a></td>

<td><% = rs.Fields("cnpj") %></td>

<td><% = rs.Fields("razao") %></td>

<td><% = rs.Fields("cidade") %></td>

<td><input name="tipo" type="checkbox" <% If rs("tipo") = 0 then response.Write("checked") End if %> value="0"></td>

</tr>

senão ele vai pra página sem valor nenhum.a palavra checked só diz pra ele iniciar marcado mas não atribui nenhum valor.

Link para o comentário
Compartilhar em outros sites

  • 0

mesmo assim, teu checkbox ta sem valor, moça!

Form.asp

... <tr class="arial_textos" bgcolor="<%=bgColor%>">
<td><a href="controle_acesso.asp?codl=<% = rs.Fields("id") %>" id="link01"><% = rs.Fields("codigo") %></a></td>
<td><% = rs.Fields("cnpj") %></td>
<td><% = rs.Fields("razao") %></td>
<td><% = rs.Fields("cidade") %></td>
<td><input name="tipo" type="checkbox" <% If rs("tipo") = 0 then response.Write("checked") End if %> value="0"></td>
</tr> ...
Upadte.asp
... id = Request.Form("id")
tipo = Request.Form("tipo")
if tipo = "0" then
tipo = 0
else
tipo = 1
end if


str = "UPDATE usuarios SET "
str = str & "tipo= " & tipo & ","
str = str & "WHERE id=" & id
call abreconexao ... 

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - André -

EEEEEEHHHHHH!!!!

Dá pra pararem de briga? parecem duas crianças

Jucacabalaseu script tá dando erro no update:

str = "UPDATE usuarios SET "

str = str & "tipo= " & tipo & "," >>>>>aqui há possibilidade de ser alphanumérico então verifique, se for ficará : '" & tipo & "'

str = str & "WHERE id=" & id

call abreconexao

Set rs = conexaodb.Execute(str)

senão for isso entaum é porque a instrução sql está errada, c você por todos os caracteres juntos haverá erro de sintaxe no sql

veja:

str = "UPDATE usuarios SET ">>>> aqui possui espaço(separamento) está correto

str = str & "tipo= " & tipo & "," >>> aqui não tem no sql vai ficar: ,where(errado).

a clausula where não pode ser acompanhado de virgula!

str = str & "WHERE id=" & id

call abreconexao

Set rs = conexaodb.Execute(str)

tente isso:

str = "UPDATE usuarios SET tipo= " & tipo & ", WHERE id=" & id

Set rs = conexaodb.Execute(str)

aprenda isso, tudo o q contatena em asp se você por espaçamento ele obedece, e uma instrução sql sempre deverá estar correta:

o seu script ficou assim no sql:

str = "UPDATE usuarios SET tipo= " & tipo & ",WHERE id=" & id

Set rs = conexaodb.Execute(str)(erro na certa!!!!!)

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...