Jump to content


Photo

Como Se Lê Esse Código?


  • Faça o login para participar
4 replies to this topic

#1 Welington

Welington

    Ativo

  • Usuários
  • 305 posts
  • Sexo:Não informado
  • Localidade:Taubaté - SP
  • Interesses:Sandra Bullock<br>Alias<br>---<br>Webdesign<br>ASP<br>PHP<br>---

Posted 07/12/2003, 15:30

Ae pessoal, é o seguinte, queria que alguem me ensinasse a ler esse código aí q eu peguei no imasters, nao precisa ser tuuuudo, só dar uma explicação básica de para que serve cada comando, só pra eu ter uma noção, pq assim eu consigo entender o código!

[codebox]
<%
Set Conn = Server.CreateObject("AdoDB.Connection")
Conn.provider="Microsoft.Jet.OLEDB.4.0"
Conn.connectionstring=Server.Mappath("bd.mdb")
Conn.Open

Set RS = Server.CreateObject("adodb.recordset")

RS.Pagesize=6

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

If RS.EOF Then
Response.Write "Nenhum registro encontrado"
Response.End
Else
If Request.QueryString("pagina")=""then
intpagina=1
Else
If cint(Request.QueryString("pagina"))< 1 then
intpagina=1
Else
If cint(Request.QueryString("pagina"))> RS.PageCount then
intpagina=RS.PageCount
Else
intpagina=Request.QueryString("pagina")
End if
End if
End if
End if

RS.AbsolutePage=intpagina

intrec=0

While intrec < RS.Pagesize and not RS.EOF

response.write rs("nome") & " - " & rs("telefone") & " - " & rs("email") & "<BR>"

RS.MoveNext
intrec = intrec+1

If RS.EOF then
response.write " "
End if
Wend

If intpagina > 1 then
%>
<a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior </a>
<%
End if

If strcomp(intpagina,RS.PageCount) <> 0 then
%>
<a href="paginacao.asp?pagina=<%=intpagina+1%>">Próxima</a>
<%
End if
%>
[/codebox]

Valeu!

Edição feita por: Renan L. Queiroz, 03/11/2009, 16:27.
Inclusão da tag [ codebox ] para postagem de scripts


#2 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 07/12/2003, 17:35

bom vamos lah..uma explicacao basica de cada parte do codigo...espero q ajude


<% 
Set Conn = Server.CreateObject("AdoDB.Connection")
Conn.provider="Microsoft.Jet.OLEDB.4.0"
Conn.connectionstring=Server.Mappath("bd.mdb")
Conn.Open
Essa parte vai definir qual eh tipo do banco de dados e qual o nome do banco de dados e abrir ele

Set RS = Server.CreateObject("adodb.recordset")
RS.Pagesize=6
SQL = "select * from contatos"
RS.Open SQL,Conn,3,3
essa parte define quantos registros vai exibir por pagina..e depois pega os registros da tabela contatos

If RS.EOF Then
Response.Write "Nenhum registro encontrado"
Response.End
Se naum tiver nenhum registro na tabela aparece a msg de erro e o script termina

Else
If Request.QueryString("pagina")=""then
intpagina=1
Else
If cint(Request.QueryString("pagina"))< 1 then
intpagina=1
Else
If cint(Request.QueryString("pagina"))> RS.PageCount then
intpagina=RS.PageCount
Else
intpagina=Request.QueryString("pagina")
End if
End if
End if
End if
RS.AbsolutePage=intpagina
intrec=0
essa parte serve mais ou mneos pra deifinir em q pagina da paginacao vc ta..

While intrec < RS.Pagesize and not RS.EOF
response.write rs("nome") & " - " & rs("telefone") & " - " & rs("email") & "<BR>"
RS.MoveNext
intrec = intrec+1
If RS.EOF then
response.write " "
End if
Wend
essa pagina comeca a exibir os registros

If intpagina > 1 then
%>
<a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior </a>
<%
End if
If strcomp(intpagina,RS.PageCount) <> 0 then
%>
<a href="paginacao.asp?pagina=<%=intpagina+1%>">Próxima</a>
<%
End if
%>
e essa ultima parte faiz os links para a paginacao...




eh basicamente isso...deu pra entender?

#3 Welington

Welington

    Ativo

  • Usuários
  • 305 posts
  • Sexo:Não informado
  • Localidade:Taubaté - SP
  • Interesses:Sandra Bullock<br>Alias<br>---<br>Webdesign<br>ASP<br>PHP<br>---

Posted 07/12/2003, 20:46

Blz cara, só tenho + uma duvida...... na parte:

Set RS = Server.CreateObject("adodb.recordset")
RS.Pagesize=6
SQL = "select * from contatos"
RS.Open SQL,Conn,3,3


Para que serve Essa ",3,3" o q esses numeros fazem?????

valew

#4 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 08/12/2003, 07:30

esse 3,3 define de qual maneira o banco sera aberto

nesse caso ai: adOpenStatic, adLockOptimistic

esse lugar e onde vc define se a consulta sera somente leitura, ou sera um aconsulta atualizavel e assim por diante

#5 marcellogbt

marcellogbt

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 23/09/2009, 20:58

esse 3,3 define de qual maneira o banco sera aberto

nesse caso ai: adOpenStatic, adLockOptimistic

esse lugar e onde vc define se a consulta sera somente leitura, ou sera um aconsulta atualizavel e assim por diante


Gostaria de saber se voce sabe como faço para reprogramar minha pagina de resultado_procura.asp, que antes era conectada pela caixa de busca conforme segue:

<%
comando1 = "select * from categorias"
comando2 = "select * from cidades order by cidade"
Set Conn = server.createobject("adodb.connection")
Conn.open Connstring, "", ""
Set rs1 = Conn.execute(comando1)
Set rs2 = Conn.execute(comando2)
%>
<form method="get" name="procura" action="resultado_procura7.asp">
<div align="left"></div>
<table width="56%" border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="#3399CC">
<tr>
<td><font face="Arial, Helvetica, sans-serif" size="2"><font face="Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Procurar
por</font></font><font face="Verdana, Arial, Helvetica, sans-serif" size="1">:</font></font><br>
<input type="text" name="palavra_procura" size="17" class="formulario">
<font face="Arial, Helvetica, sans-serif" size="2"><font size="2" face="Arial, Helvetica, sans-serif">
</font></font><br> <font face="Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">na
cidade de: </font></font> <br>
<select name="cidade" class="formulario" id="cidade">
<option value="#" selected>--------- cidade ---------</option>
<% while not rs2.EOF %>
<option value="<%=rs2("id_cidade")%>"><%=rs2("cidade")%></option>
<%
rs2.MoveNext
wend
%>
</select><br>
<font face="Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">na
categoria de:</font><br>
<select name="id_categoria" class="formulario">
<option value="#" selected>------ categoria ------</option>
<% while not rs1.eof %>
<option value="<%=rs1("id_categoria")%>"><%=rs1("categoria")%></option>
<%
rs1.MoveNext
wend
%>
</select>
<input type="hidden" name="chave_procura" value="formulario">
</font>
<p align="center"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="submit" name="Submit" value="Procurar" class="formulario">
</font></p>
</td>
</tr>
</table>

<div align="left">
<%
Conn.Close
Set rs1 = Nothing
%>
</div>
</form>

e dai no inicio da pagina resultado_procura.asp, ela respondia desta forma:


<!--#include file="path_bd_guia.inc" -->
<%
Response.CacheControl="no-cache"
Response.AddHeader "Pragma","no-cache"
Response.Expires = 0
Response.Buffer = True

Private Function ConverteTexto(varTexto)
Dim y, x, z, limite
limite = Len(Trim(varTexto))
y = ""
for x = 1 to limite
z = Mid(varTexto, x, 1)
if z = CHR(10) Then
z = "<br>"
end if
y = y & z
next
ConverteTexto = y
End Function

Function Validacao(s)

sStringsRecusados = array(" insert", " update", " delete", " drop", "insert ", "update ", "delete ", "drop ", "-", "'", """", "@@")
Validacao = True
For i = Lbound(sStringsRecusados) to UBound(sStringsRecusados)
if (InStr(1, LCase(s), sStringsRecusados(i), vbTextCompare) <> 0) Then
Validacao = False
Exit Function
End if
Next

sStringCharValidos = "abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVWYXZ0123456789ÁÀÃÂÄÇÉÈÊËÍÌÏÓÒÔÖÚÙÜÑáàãâäçéèêëíìïóòôöúùüñ-_@/\&!?.%*()[]{}:,=#+$ºª" & vbCrLf
For i = 1 To len(s)
Caractere = mid(s, i, 1)
If (Instr(sStringCharValidos, Caractere) = 0) Then
Validacao = False
Exit Function
End if
Next
End Function

'Function ValidaEntrada()

For Each campo in Request.Querystring
If Not Validacao(Request.Querystring(campo)) Then
Response.Write "Você digitou caractere(s) proibido(s) no parâmetro " & campo & "!" & "<br>" & "Favor refazer a sua pesquisa. <A HREF=""index_site.asp"">Página Principal</A>"
Response.End
End if
Next
'End Function
%>

<%
chave_procura = request.querystring("chave_procura")
estado = request.querystring("estado")
cidade = request.querystring("cidade")
'id_categoria = session("id_categoria")
if chave_procura="formulario" then
id_categoria = request.querystring("id_categoria")
elseif chave_procura="mapa" then
id_categoria = request("santoscompra")("categoria")
end if
if cidade="#" or id_categoria="#" then
response.redirect("index_site.asp")
end if
select case id_categoria
case "1"
categoria = "Advogados"

e assim por diante até a ultima categoria, e depois lá abaixo a construção do sql era assim na consulta feita pelo formulario:


<%
a="'"
Set Conn= server.createobject("adodb.connection")
Conn.open ConnString,"",""

intRecsPerPage="15"

set go = Server.CreateObject("ADODB.Recordset")

if chave_procura = "formulario" then
palavra_procura = request.querystring("palavra_procura")

if id_categoria = "1" then
sSQL="select * from advogados where cod_cidade=" + cidade + " and cod_categoria=" + id_categoria + " ORDER BY ADVOGADOS"


e desta forma pelo mapa:

else
response.redirect("index_site.asp")
end if

elseif chave_procura = "mapa" then
cidade = request.querystring("cidade")

if id_categoria = "1" then
sSQL="select * from advogados where cod_cidade=" + cidade + " and cod_categoria=" + id_categoria + " ORDER BY ADVOGADOS"

e no fim de tudo isso, vinha este codigo:

end if

end if

go.Open sSQL, Conn,3,3

if go.eof then
%>

BEM, MINHA DUVIDA É A SEGUINTE, PRECISO MUDAR A FORMA DE BUSCA, ENTÃO ESTOU INTRODUZINDO UMA COMBO TRIPLA COM A CATEGORIA, DEPOIS ESCOLHA A CIDADE, E OS BAIRROS CARREGAM AUTOMATICAMENTE REFERENTES A CIDADE ESCOLHIDA, MAS QUANDO FAÇO A BUSCA, ELE DA UMA MENSAGEM DE ERRO QUE É EXATAMENTE A SEGUINTE:

Tipo de erro:
ADODB.Recordset (0x800A0BB9)
Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.
/santos/resultado_procuraasp, line 1116

ESTA LINHA 1116, É EXATAMENTE A QUE DIZ (go.Open sSQL, Conn,3,3), SERÁ QUE VOCE PODE ME AJUDAR A FAZER A ALTERAÇÃO NECESSÁRIA PARA QUE FUNCIONE CORRETAMENTE?????

DESDE JÁ AGRADEÇO SUA ATENÇÃO E PRESTEZA

MARCELO




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq