Jump to content
Fórum Script Brasil
  • 0

Me Ajudem Please


Chkaus

Question

Olá pessoal do ScriptBrasil. To precisando de uma ajuda!!!

To fazendo uma biblioteca online pra minha escola porem não consigo colocar 3 records diferentes por linha. O máximo que consigo é que fiquem 3 records porem iguais. dry.gif

Uso ASP e BD Access.

Tipo... tem os campos livro e foto.

Alguém me ajuda por favor

valeu!!! blink.gif

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0

Eu estava vendo outros códigos seus em outros tópicos e tentei fazer... mas não deu certo.

Sou super novato. Tava usando esse código... Me ajude Plzzzz:

<%@ Language=VBScript %>
<% Option Explicit %>
<% session.LCID= 1046  %>
<%
' Operação de conexão ao Banco de Dados
dim bdconect 
dim provider
bdconect = "" & server.mappath("banco/biblioteca.mdb") & ""
provider = "Microsoft.Jet.OLEDB.4.0"
%>

<%
dim sql
dim CS
dim RS
dim x

' objects
Set CS = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")

' connection string (info in connectionstring.asp)
CS.ConnectionString = bdconect
CS.Provider = provider
CS.Open

sql = "SELECT * FROM catalogo ORDER BY ID DESC"

total = sql.recordcount
Colunas = 5

%>

<table width="606" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="18">
<%
X = 1
Y = 0
WHILE NOT SQL.EOF <= total 

IF cor ="#FFFF99" THEN
cor = "#EEEEEE"
ELSE
cor ="#FFFF99"
END IF

%><font face="Verdana"> </font>
<%IF Y = 0 THEN%><tr><%END IF%><font face="Verdana">
<%IF X < total THEN%>
<td width="303" align="center" height="18" bgcolor="<%=cor%>" >
<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=SQL("capitulo")%>"><%=RS("livro")&" "&SQL("foto")%></a></font></td>
<%ELSE%>
<td width="303" align="center" height="18" bgcolor="<%=cor%>" >
<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=SQL("capitulo")%>"><%=RS("livro")&" "&SQL("foto")%></a></font></td>
<%FOR I = total mod Colunas TO Colunas - 1%>
<%NEXT%>
<%END IF%>
<%IF Y = Colunas THEN%></tr><%END IF%>
<%
X = X + 1
Y = Y + 1
IF Y = Colunas THEN
Y = 0
END IF
SQL.MOVENEXT
WEND
%> </font>
</table></center>
</div>
      </body>

</html>

Link to comment
Share on other sites

  • 0

ohmy.gif Caraca... acho que já estou te enchendo não é?...

Bom... fiz o que você disse e deu um erro... dei uma olhada nos códigos e achei um erro. A linha com o cod:

<a href="capitulo.asp?capitulo=<%=tab("livro")%>"><%=tab("foto")&" "&tab("foto")%></a></font></td>

Os campos estavam com nomes que não tinham no BD. ai arrumei e agora aparece esse erro que eu não faço ideia do que seja:

Error Type:

ADODB.Field (0x80020009)

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/biblioteca/default.asp

Browser Type:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)

Page:

GET /biblioteca/default.asp

blink.gif

Link to comment
Share on other sites

  • 0

Caraca... pior que no PC que eu to não tem Access. Vou verificar hj quando chegar em casa e amanhã eu posto a resposta. Andréia... Muito obrigado pela dedicação... Acho que nunca ví um forum assim como o do ScriptBrasil. Realmente vou fazer o maximo pra aprender ASP (pois estou tentando aprender sozinho) e um dia poder ajudar outras pessoas no forum. Um Grande Abraço e até amanhã!!! laugh.giflaugh.giflaugh.giflaugh.gif

Link to comment
Share on other sites

  • 0

ta fazendo um loop dentro do while com o for!

quando for o ultimo registro vai dar erro, depois que colocar o rs.movenext coloca um if ra ver se rs é EOF

abraços

----- edited -----

while not tab.EOF and linha <= quant

IF cor ="#FFFF99" THEN

cor = "#EEEEEE"

ELSE

cor ="#FFFF99"

END IF

%>

<tr bgcolor="<%= cor %>">

<%

for i=0 to 2

%>

<td width="303" align="center" height="18" bgcolor="<%=cor%>" >

<% If tab.EOF then  %>

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b></font></td>

<% else %>

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=tab("capitulo")%>"><%=tab("livro")&" "&tab("foto")%></a></font></td>

<% end if %>

<%

if i < 2 then tab.MoveNext

next

tab.MoveNext

%>

</tr>

<%

Wend

%>

não testei amigo, mas deve tá beleza ae!

abraços

Edited by fercosmig
Link to comment
Share on other sites

  • 0

Oi!

Andreia, realmente tem um "erro" no seu código faça um teste para quatro registros.

De qualquer for sempre existe mais de uma forma de se implementar determinada rotina.

Uma outra sugestão, ta ai embaixo. Acho que economiza pelo menos um teste por loop em relação a solução do fercosmig. A qual não tenho certeza, nunca testei, mas acho que vai dar erro também. Pois vai tentar fazer um MoveNext quando o ponteiro já está no fim do Recordset (EOF igual a TRUE).

<%@ Language=VBScript %>

<% session.LCID= 1046  %>

<%

' Operação de conexão ao Banco de Dados

set conn = createobject("adodb.connection")

conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("banco/biblioteca.mdb")

set tab = createobject("adodb.recordset")

set tab.activeconnection = conn

sql = "SELECT * FROM catalogo ORDER BY ID DESC"

tab.open sql, conn, 3,3

total = tab.RecordCount

%>

<table width="606" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="18">

<%

i=0

<tr bgcolor="#FFFF99">

DO while not tab.EOF

i=i+1

%>

<td width="303" align="center" height="18" bgcolor="<%=cor%>" >

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=tab("capitulo")%>"><%=tab("livro")&" "&tab("foto")%></a></font></td>

<%

   If i = 3 Then

    i = 0

    IF cor ="#FFFF99" THEN

               cor = "#EEEEEE"

    ELSE

               cor ="#FFFF99"

    END IF

    Response.Write "</tr><tr bgcolor=""" & cor & """>" & Chr(13)

   End If

   rs.MoveNext

Loop

'Este trecho é para garantir que a última linha tenha três colunas.

  If j <> 0 Then

   Do While j < 3

    Response.Write "<td>&nbsp;</td>" & Chr(13)

    j = j + 1

   Loop

  End If

%>

</tr>

</table>

</center>

</div>

</body>

</html>

rolleyes.gifblink.gif

Link to comment
Share on other sites

  • 0

huh.gif Eu acho que eu sou muito burro... tá dando erro denovo!!! huh.gif

Eu até fiz um novo banco de dados:

nome: loja.mdb

tabela: produtos

campos: id - produto - disponivel

Fiz as mudanças e deu errado!

Eu vou me matar mas vou aprender isso! mad.gif

E queria que vocês me ajudassem! sad.gif

Please!!! ohmy.gif

Link to comment
Share on other sites

  • 0

alguém me ajuda... o meu código está assim agora

O que há de errado?

<%@ Language=VBScript %>

<% Option Explicit %>

<% session.LCID= 1046  %>

<%

' Operação de conexão ao Banco de Dados

dim bdconect

dim provider

bdconect = "" & server.mappath("bd/loja.mdb") & ""

provider = "Microsoft.Jet.OLEDB.4.0"

%><html>

<title> .:: Loja Virtual HDC ::.</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<STYLE type="text/css">

<!--

a:link {text-decoration: none;color: #1C977B}

a:active {text-decoration: none;}

a:visited {text-decoration: none;color: #1C977B}

a:hover {text-decoration: underline;color: #1C977B}

.form {

font-family: Verdana;

font-size: 10px;

color: #333333;

border: 1px solid #C0C0C0;

background-color: #F5F5F5;

}

-->

</STYLE>

</head>

<%

dim sql

dim CS

dim RS

' Objetos

Set CS = Server.CreateObject("ADODB.Connection")

Set RS = Server.CreateObject("ADODB.Recordset")

' Conexao

CS.ConnectionString = bdconect

CS.Provider = provider

CS.Open

set rs.activeconnection = cs

sql = "SELECT * FROM produtos ORDER BY ID DESC"

rs.open sql, cs, 3,3

total = rs.RecordCount

%>

<center>

<table width="606" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="18">

<%

i=0

<tr bgcolor="#FFFF99">

DO while not tab.EOF

i=i+1

%>

<td width="303" align="center" height="18" bgcolor="<%=cor%>" >

<% Response.Write "" & rs("nome") & "" %>

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=rs("nome")%>"><%=rs("valor")&" "&rs("foto")%></a></font></td>

<%

   If i = 3 Then

    i = 0

    IF cor ="#FFFF99" THEN

               cor = "#EEEEEE"

    ELSE

               cor ="#FFFF99"

    END IF

    Response.Write "</tr><tr bgcolor=""" & cor & """>" & Chr(13)

   End If

   rs.MoveNext

Loop

'Este trecho é para garantir que a última linha tenha três colunas.

  If j <> 0 Then

   Do While j < 3

    Response.Write "<td>&nbsp;</td>" & Chr(13)

    j = j + 1

   Loop

  End If

%>

</tr>

</table>

</center>

</html>

Link to comment
Share on other sites

  • 0

estou com muito serviço agora, portando só vou colocar o esqueleto do código:

' coloque aki a conexao com o banco
' crie o recordset

dim controle
controle = 0
response.write "<table><tr>"
Do while not Recordset.eof
   controle = controle + 1
   response.write "<td>" & recordset("id") & "<br>" & recordset("produto")  & recordset("disponivel") & "</td>"
   if controle mod 3 = 0 then
      response.write "</tr><tr>"
   end if
   recordset.MoveNext
Loop
response.write "</tr></table>"

entendeu???

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...