Ir para conteúdo

POWERED BY:

Arquivado

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

xanburzum

[Resolvido] função Instr

Recommended Posts

Usando a função Instr podemos verificar e descobrir se existe um ponto final na nossa string e se não é, então, encontrá-lo na posição. Em seguida usando a função Left() , para retornar um número especificado de caracteres a partir da esquerda, incluindo a primeira parada total.

 

Abaixo está o código da amostra que irá recuperar o título e a primeira frase da notícia para cada artigo de notícias em nosso banco de dados 'Noticias.mdb'. Os campos em nosso banco de dados são uma ID - AutoNumeração ,headline que é um campo de texto e news_story , que é um campo memorando.

 

<%@ Language="VBScript" %>
<% Option Explicit %>
<html>
<head>
<title></title>
</head>
<body>
<%

'Declare suas variáveis
Dim oConnection, oRecordset, iFirst
Dim sSQL, sConnString, sNewsTitle, sNewsBody

'Declare SQL que irá consultar o banco de dados
sSQL="SELECT * FROM noticias"

'define a string de conexão, e especifica banco de dados
'driver local do banco de dados
sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Noticias.mdb")


'criar uma conexão ADO e recordset
Set oConnection = Server.CreateObject("ADODB.Connection")
Set oRecordset = Server.CreateObject("ADODB.Recordset")

'Abre a conexão com o banco de dados
oConnection.Open(sConnString)
'Abre o objeto de registros, execute a instrução SQL
oRecordset.Open sSQL, oConnection

'antes de tudo determinar se existem quaisquer registos
If oRecordset.EOF Then
Response.Write("There are no news articles.")
Else
'Se houver registros, percorrer os campos
Do While Not oRecordset.EOF
sNewsTitle= oRecordset("headline")
sNewsBody= oRecordset("news_story")
'Chamar a função InStr, se a função retorna um número> que 0 então há uma fullstop
If InStr(1, sNewsBody, ".") > 0 Then
'Call função InStr novamente, a função retornará a posição do primeiro fullstop
iFirst=InStr(1,sNewsBody,".")
'Use a função Left para retornar todos os caracteres, incluindo o fullstop
sNewsBody=Left(sNewsBody,iFirst)
End If
Response.write "<p>"
Response.Write sNewsTitle & "<br>" 'insere uma quebra de linha
Response.Write sNewsBody
Response.Write "</p>" 
'move on to the next record
oRecordset.MoveNext
Loop
End If
'fechar a conexão e objetos Recordset e liberar recursos
oRecordset.Close
oConnection.Close
Set oRecordset = Nothing
Set oConnection = Nothing
%>

</body>
</html>

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.