Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evandro CPT

[Resolvido] Erro: Expected statement

Recommended Posts

Boa tarde amigos!

 

Sou novato em ASP, e estou desenvolvendo um sisteminha para cadastro de fotos... mas esta dando um erro:

 

Microsoft VBScript compilation error '800a0400'

 

Expected statement

 

/testebala/list2.asp, line 242

 

End If

^

 

O cod é:

 

<!--VB ADO Constants file.  Needed for the ad... constants we use-->
<!-- #include file="adovbs.inc" -->
<%
' BEGIN USER CONSTANTS
Dim CONN_STRING
Dim CONN_USER
Dim CONN_PASS



CONN_STRING = "DBQ=" & Server.MapPath("database.mdb") & ";"
CONN_STRING = CONN_STRING & "Driver={Microsoft Access Driver (*.mdb)};"

' This DB is unsecured, o/w you'd need to specify something here
CONN_USER = ""
CONN_PASS = ""




' BEGIN RUNTIME CODE
' Declare our vars
Dim iPageSize       'How big our pages are
Dim iPageCount      'The number of pages we get back
Dim iPageCurrent    'The page we want to show
Dim strOrderBy      'A fake parameter used to illustrate passing them
Dim rstSimple          'SQL command to execute
Dim objPagingConn   'The ADODB connection object
Dim objPagingRS     'The ADODB recordset object
Dim iRecordsShown   'Loop controller for displaying just iPageSize records
Dim I               'Standard looping var

' Get parameters
iPageSize = 100000 ' You could easily allow users to change this

' Retrieve page to show or default to 1
If Request.QueryString("page") = "" Then
	iPageCurrent = 1
Else
	iPageCurrent = CInt(Request.QueryString("page"))
End If





' This is where you read in parameters you'll need for your query.
' Read in order or default to id
If Request.QueryString("order") = "" Then
	strOrderBy = "id"
Else
	strOrderBy = Request.QueryString("order")
End If


strSQL = "SELECT * FROM cats WHERE cat ORDER BY cat ASC;"




' Now we finally get to the DB work...
' Create and open our connection
Set objPagingConn = Server.CreateObject("ADODB.Connection")
objPagingConn.Open CONN_STRING, CONN_USER, CONN_PASS

' Create recordset and set the page size
Set objPagingRS = Server.CreateObject("ADODB.Recordset")
objPagingRS.PageSize = iPageSize

' You can change other settings as with any RS
'objPagingRS.CursorLocation = adUseClient
objPagingRS.CacheSize = iPageSize

' Open RS

objPagingRS.Open strSQL, objPagingConn, adOpenStatic, adLockReadOnly, adCmdText

' Get the count of the pages using the given page size
iPageCount = objPagingRS.PageCount

' If the request page falls outside the acceptable range,
' give them the closest match (1 or max)
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1

' Check page count to prevent bombing when zero results are returned!
If iPageCount = 0 Then
	Response.Write "No records found!"
Else
	' Move to the selected page
	objPagingRS.AbsolutePage = iPageCurrent

	' Start output with a page x of n line
	%>


<%



' Now we finally get to the DB work...
' Create and open our connection
Set objPagingConn = Server.CreateObject("ADODB.Connection")
objPagingConn.Open CONN_STRING, CONN_USER, CONN_PASS

' Create recordset and set the page size
Set objPagingRS = Server.CreateObject("ADODB.Recordset")
objPagingRS.PageSize = iPageSize

' You can change other settings as with any RS
'objPagingRS.CursorLocation = adUseClient
objPagingRS.CacheSize = iPageSize

' Open RS

objPagingRS.Open strSQL, objPagingConn, adOpenStatic, adLockReadOnly, adCmdText

' Get the count of the pages using the given page size
iPageCount = objPagingRS.PageCount

' If the request page falls outside the acceptable range,
' give them the closest match (1 or max)
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1

' Check page count to prevent bombing when zero results are returned!
If iPageCount = 0 Then
	Response.Write "No records found!"
Else
	' Move to the selected page
	objPagingRS.AbsolutePage = iPageCurrent

	' Start output with a page x of n line
	%>

		<%
	
	For I = 0 To objPagingRS.Fields.Count - 1
	    
	Next 'I
	
	' Loop through our records and ouput 1 row per record
	iRecordsShown = 0
	Do While iRecordsShown < iPageSize And Not objPagingRS.EOF
%>
     <%    Dim CategoriaAnterior

Dim EscreveCategoria

''Força escrever a Categoria na primeira vez

EscreveCategoria = "S"

Do While iRecordsShown < iPageSize And Not objPagingRS.EOF

        If EscreveCategoria = "S" then 

            Response.Write objPagingRS.Fields("cat").Value 

        End If    

%>



  <table border="1" width="100%" cellpadding="0" style="margin-top: 4; margin-bottom: 4">

  <tr>

    <td width="100%" bgcolor="#CCCCFF">

      <table border="0" width="100%" cellspacing="0" cellpadding="0">

        <tr>

          <td width="17%">

            <p style="margin: 8"><a href="big.asp?id=<%= objPagingRS.Fields("ID").Value %>"><img border="0" src="<%= objPagingRS.Fields("pic_url").Value %>" width="120" height="120"></a></td>

          <td width="83%">

            <p style="margin-left: 8"><font face="Arial" size="2" color="#FF0000"><b><%= objPagingRS.Fields("pic_dis").Value %></b></font></td>

        </tr>

      </table>

    </td>

  </tr>

  <tr>

    <td width="100%" bgcolor="#CCCCFF">

      <p align="left" style="margin-left: 10; margin-right: 7; margin-top: 2; margin-bottom: 2"><b><font face="Arial" size="2"><a href="big.asp?id=<%= objPagingRS.Fields("ID").Value %>"><%= objPagingRS.Fields("pic_name").Value %></a></font></b></td>

  </tr>

</table>



<p align="center">



<font face="Arial" color="#FF0000"><b>





<%

    CategoriaAnterior = objPagingRS.Fields("cat").Value

objPagingRS.MoveNext

''Se não mudar de categoria, não é para escrever de novo a categoria

If CategoriaAnterior = objPagingRS.Fields("cat").Value then

   EscreveCategoria = "N"

Else

   EscreveCategoria = "S"

End If

iRecordsShown = iRecordsShown + 1

Loop


%>
 



<% End If

' Close DB objects and free variables
objPagingRS.Close
Set objPagingRS = Nothing
objPagingConn.Close
Set objPagingConn = Nothing


' Show "previous" and "next" page links which pass the page to view
' and any parameters needed to rebuild the query.  You could just as
' easily use a form but you'll need to change the lines that read
' the info back in at the top of the script.
end if%>

 

Acredito que seja algo simples, mas estou penando para corrigir e não consigo!

 

Obrigadoooo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem dois DO WHILE fazendo a mesma coisa, pra que?

Do While iRecordsShown < iPageSize And Not objPagingRS.EOF

 

Remova um.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem dois DO WHILE fazendo a mesma coisa, pra que?

Do While iRecordsShown < iPageSize And Not objPagingRS.EOF

 

Remova um.

 

 

Opaa hargon! na mosca!!

 

Funcionou, exibiu tudo mas bem no fim da pagina dá um outro erro:

 

ADODB.Field error '800a0bcd'

 

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

 

/testebala/list2.asp, line 222

Tem ideia do que é?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é a linha 222?

 

Se for essa

If CategoriaAnterior = objPagingRS.Fields("cat").Value then

 

Altere para

If ((Not objPagingRS.Eof) And (CategoriaAnterior = objPagingRS.Fields("cat").Value)) Then

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é a linha 222?

 

Se for essa

If CategoriaAnterior = objPagingRS.Fields("cat").Value then

 

Altere para

If ((Not objPagingRS.Eof) And (CategoriaAnterior = objPagingRS.Fields("cat").Value)) Then

 

 

Opa hargon!!! muiiittoooo obrigado pela ajuda, esse segundo erro consegui resolver assim:

 

Antes:

If CategoriaAnterior = objPagingRS.Fields("cat").Value then

   EscreveCategoria = "N"

Else

   EscreveCategoria = "S"

End If

 

 

Depois:

If Not objPagingRS.EOF Then

If CategoriaAnterior = objPagingRS.Fields("cat").Value then

   EscreveCategoria = "N"

Else

   EscreveCategoria = "S"

End If
End if

 

 

Muito obrigado pela ajuda!!

Sozinho não tinha passado nem do primeiro erro rsrsrsrs

 

Problema resolvido!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana, também foi uma boa saída.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.