Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Coelho2

quel a diferenca de rs.fields("estoque") para rs("estoque&

Recommended Posts

a colecaun Fields é a colecaun default do , obj recordset ,o k significa k naun precisamos nos referir explicitamente, por exemplo, se você kiser referir ao campo ID da colecaun fileds, podemos usar objrs.fields("ID") ou objrs("ID"), recomendo o segundo, visto que esta técnica é a mais eficiente, ha varias formas de acessar um valor de campo de um recordset, ex:

var=objrs(0)

var=objrs(0).value

var=objrs.fields(0)

var=objrs.fields(0).value

var=objrs.fields.item(0)

var=objrs.fields.item(0).value

etc

etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, aproveitando o topico me tirem uma duvida.

 

Estou precisando verificar se um tabela no bd tem mais de um registro com o id q eu to passando.

Qual propriedade do RecordSet uso para fazer isso?

se o id_objeto>0 vou ter q incluir uma página.

alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

todos saun perfeitamente válido, entao eu sugiro escolher a melhor forma k se adéque a sua aplicacao, geralmente é usado e o k eu uso é rs("nome"), e é uma forma mais rápida, como tb fazer um loop para cada obj recordset, e nau eskça da propriedade value do mesmo, onde value é a propriedade default do objeto Field, tb existe varias formas de executar,ex:

 

 

objrs.fields("ID") = 1

objrs("ID") = 1

objrs.fields.item("ID") = 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao

 

Faça o Select usa o RecordCount para contar o numero de registros.

 

Sql = "Select Id From Tabela = 1"
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql, Conexao, 3, 3

If Rs.RecordCount > 1 Then
   Response.Write("Mais de Um")
Else
   Response.Write("Um Só")
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo da situacaun melhor usar um contatdor normal ou a clausula count do SQL, pois se o seu bd for muito grande o recordcount do objeto recordset para apresentar queda de desempenho

e para usar o RecordCount , seu cursortype tem k ser recordset.CursorType = 3 (AdOpenDynamic)

 

exemplo:

<%
DIM mySQL, objRS
mySQL = "SELECT * FROM myTable" 
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open mySQL, objConn

' Count how many records exist
DIM iRecordCount
iRecordCount = 0
DO WHILE NOT objRS.EOF
iRecordCount = iRecordCount + 1
objRS.MoveNext
Loop

' Display result
Response.Write "(" & iRecordCount & ")"

objRS.Close
Set objRS = Nothing 
objConn.Close
Set objConn = Nothing
%> 

SQL COUNT

 

<!--#INCLUDE VIRTUAL="/includes/connection.asp" -->

<%
DIM mySQL, objRS
mySQL = "SELECT Count(*) AS intTotal FROM myTable" 
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open recSQL, objConn

' Display result
Response.Write objRS("intTotal")

objRS.Close
Set objRS = Nothing 
objConn.Close
Set objConn = Nothing
%> 
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

todos saun perfeitamente válido, entao eu sugiro escolher a melhor forma k se adéque a sua aplicacao, geralmente é usado e o k eu uso é rs("nome"), e é uma forma mais rápida, como tb fazer um loop para cada obj recordset, e nau eskça da propriedade value do mesmo, onde value é a propriedade default do objeto Field, tb existe varias formas de executar,ex:

 

 

objrs.fields("ID") = 1

objrs("ID") = 1

objrs.fields.item("ID") = 1

 

 

Fiz assim e não deu certo:

 

<% Set Rs_testes=conn.Execute("SELECT * FROM TABELA WHERE ID_OBJETO =" & request("ID_OBJETO"))
response.write(Rs_testes.RecordCount)
If Rs_testes.RecordCount > 0 Then%>
<!--#include file="linkagem_teste.asp"-->
<% End If %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não pode recuperar o RecordCount abrindo o recordset com o execute tem que ser com o open normal e com os parâmetros adequados conforme o xanburzum mostrou no post anterior

 

ou então faça um select só com este count

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%
DIM mySQL, objRS
mySQL = "SELECT * FROM myTable" 
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open mySQL, objConn

você precisa usar o metodo Opne do obj recordset e naun o metodo Execute do obj conncetion

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.