Galera gostaria de saber como utilizar classes utilizando o ASP
Criei meu arquivo de classe mas não estou sabendo como utiliza-lo.
Peguei como base um exemplo que encontrei na net, mas nesse exemplo a classe apenas inseria os dados no banco.
Tentei uma adaptação para o que necessito, porém sem sucesso!!!
Como eu utilizo as funções da classe??????
Por favor me ajudem.
Segue abaixo meu arquivo com a classe e suas funçoes
<%
'definição do nome da sua classe
Class Noticias
'===================================================FUNÇOES ADMINISTRATIVAS====================================================
Dim Categoria, Categoria_coluna, Titulo, Texto, Reporter, Fotografo 'definição de variáveis que serão utilizadas para guardar as informações que serão digitadas.
Dim var_Id_Noticia, var_Id_Categoria, var_Categoria, var_Categoria_coluna, var_Titulo, var_Texto, var_Reporter, var_Fotografo, var_Foto, var_Nome_Foto, ExibeData
Private ConexaoDB 'variáel que fará a conexão com banco.
Private RS_incluirnoticias , RS_ExibeCat_colunas, RS_ExibirConteudoPagina, RS_ExibirFotosNoticias, RS_AlteraNoticia , RS_UPLOAD'variável do recordset.
Private SQL_incluirnoticias, SQL_ExibeCat_colunas, SQL_ExibirConteudoPagina, SQL_ExibirFotosNoticias, SQL_AlteraNoticia, SQL_UPLOAD 'variável que terá o retorno do que foi gravado.
'Criei variáveis privadas, porque só serão usadas aqui na classe.
Private sub AbreConexao
Set Conexaodb = Server.CreateObject("ADODB.Connection")
Conexaodb.open "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=revistahoje; User=user;Password=senha;Option=3;"
end sub
'função que fecha a conexão com o banco.
Private Sub FechaConexao
Conexaodb.close
set Conexaodb = nothing
end sub
'função que chamarei para fazer a inclusão dos dados.
Sub IncluirNoticia
'chama a função que faz a conexão com banco.
Call AbreConexao
SQL_incluirnoticias = "Insert into tbl_noticias (categoria, categoria_coluna, titulo, texto, reporter, fotografo) values ('" & categoria & "', '"&categoria_coluna&"', '"&titulo&"', '"&texto&"', '"&reporter&"', '"&fotografo&"')"
set RS_incluirnoticias = ConexaoDB.Execute(SQL)
Call FechaConexao
End Sub
'Função para UPLOAD DAS FOTOS
Sub EnviarFotos
Set objUpload = server.CreateObject("Dundas.Upload.2")
objUpload.MaxFileSize = 500
objUpload.UseVirtualDir = false
objUpload.UseUniqueNames = TRUE
objUpload.Save("E:\vhosts\revistahoje.com.br\httpdocs\sgc\imgs_noticias\")
For Each objUploadedFile in objUpload.Files
path=objUploadedFile.Path
var_Foto = objUpload.GetFileName(path)
var_Nome_Foto = objUpload.GetFileName(objUpload.Files(0).Path)
Call AbreConexao
SQL_UPLOAD = "INSERT INTO fotos (id_noticia, foto) values ('"&var_Id_Noticia&"','"&var_Nome_Foto&"')"
set RS_UPLOAD = ConexaoDB.Execute(SQL_UPLOAD)
next
Call fechaConexao
set RS_UPLOAD = NOTHING
Set objUpload = nothing
End Sub
'FUNÇÃO PARA ALTERAÇÃO DE NOTÍCIAS Categoria, Categoria_coluna, Titulo, Texto, Reporter, Fotografo
Sub AlteraNoticia
Call AbreConexao
SQL_AlteraNoticia = "UPDATE tbl_noticias SET categoria = '"&var_Categoria&"', categoria_coluna = '"&var_Categoria_coluna&"', titulo = '"&var_Titulo&"', texto = '"&var_Texto&"', reporter = '"&var_Reporter&"', fotografo = '"&var_Fotografo&"' WHERE id = = '"&var_Id_Noticia&"'"
set RS_AlteraNoticia = ConexaoDB.Execute(SQL_AlteraNoticia)
Call FechaConexao
End Sub
'FUNÇÃO PARA EXCLUSÃO DE NOTICIA
Sub ExcluirNoticia
'-----------------------EXCLUIR FOTO------------------------------------
On Error Resume Next
If Mid(var_Foto, 2, 1) <> ":" Then
var_Foto = Server.MapPath("../imgs_noticias/"&var_Foto)
End If
If Err Then Err.Clear
On Error GoTo 0
Dim FSO
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(var_Foto) Then
FSO.DeleteFile var_Foto
End If
Set FSO = Nothing
'=======================================================================
Call AbreConexao
SQL_ExcluirNoticia = "DELETE FROM tbl_noticias where id = '"&var_Id_Noticia&"'"
set RS_ExcluirNoticia = ConexaoDB.Execute(SQL_ExcluirNoticia)
SQL_EXCLUIR_FOTO = "DELETE FROM tbl_noticias where id_noticia = '"&var_Id_Noticia&"'"
set RS_EXCLUIR_FOTO = ConexaoDB.Execute(SQL_EXCLUIR_FOTO)
Call FechaConexao
End Sub
'FUNÇÃO PARA EXIBIR CATEGORIA DE DAS COLUNAS
Sub ExibirCategoriasColunas
Call AbreConexao
SQL_ExibeCat_colunas = "SELECT * FROM cat_colunas"
set RS_ExibeCat_colunas = ConexaoDB.Execute(SQL_ExibeCat_colunas)
End Sub
'FUNÇÃO PARA EXIBIR CATEGORIAS DE NOTICIAS(CAPA-ENTREVISTA-POLITICA-ECONOMIA-SAUDE....)
Sub ExibirConteudoPagina
Call AbreConexao
SQL_ExibirConteudoPagina = "SELECT * FROM tbl_noticias where categoria = '"&var_Id_Categoria&"' and categoria_coluna ='"&var_Categoria_coluna&"' order by id desc limit 3"
set RS_ExibirConteudoPagina = ConexaoDB.Execute(SQL_ExibirConteudoPagina)
End Sub
'FUNÇÃO PARA EXIBIR FOTOS RELACIONADAS A CADA NOTICIA
Sub Exibir_Foto
Call AbreConexao
SQL_ExibirFotosNoticias = "SELECT * FROM fotos where id_categoria = '"&var_Id_Categoria&"'"
set RS_ExibirFotosNoticias = ConexaoDB.Execute(SQL_ExibirFotosNoticias)
End Sub
Sub ResizeFotos
Set Jpeg = Server.CreateObject("Persits.Jpeg")
'Set JpegLogo = Server.CreateObject("Persits.Jpeg")
Jpeg.PreserveAspectRatio = True
caminho = "sgc/imgs_noticias/"&var_Foto&""
'JpegLogoPath = Server.MapPath("sgw/img/logo_divulga.png")
'Open source file
Jpeg.Open (server.mappath(caminho))
'JpegLogo.Open JpegLogoPath
'Jpeg.DrawImage Jpeg.Width-295, Jpeg.Height-100, JpegLogo
Jpeg.Width = 245
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth
Response.BinaryWrite(Jpeg.SendBinary)
End Sub
'=======================================================FIM FUNÇÕES ADMINISTRATIVAS=============================================
'-------------------------------------------------------------------------------------------------------------------------------
'===========================================================FUNÇÕES AUXILIARES==================================================
'FUNÇÃO DATA
Sub Exibe_Data
Dim nDia, nMes, nAno, nDiaSemana, ExibeData
Dim sDiaSemana, sMes
nDia = day(Date)
nMes = month(Date)
nAno = year(Date)
nDiaSemana = weekday(Date)
select case nDiaSemana
case 1 sDiaSemana = "Domingo"
case 2 sDiaSemana = "Segunda-Feira"
case 3 sDiaSemana = "Terça-Feira"
case 4 sDiaSemana = "Quarta-Feira"
case 5 sDiaSemana = "Quinta-Feira"
case 6 sDiaSemana = "Sexta-Feira"
case 7 sDiaSemana = "Sábado"
end select
select case nMes
case 1 sMes = "Janeiro"
case 2 sMes = "Fevereiro"
case 3 sMes = "Março"
case 4 sMes = "Abril"
case 5 sMes = "Maio"
case 6 sMes = "Junho"
case 7 sMes = "Julho"
case 8 sMes = "Agosto"
case 9 sMes = "Setembro"
case 10 sMes = "Outubro"
case 11 sMes = "Novembro"
case 12 sMes = "Dezembro"
end select
ExibeData = nDia & " de " & sMes & " de " & nAno
End Sub
'FUNÇÃO ANTI-INJECTION
Sub LimparTexto(str)
str = trim(str)
str = replace(str,"'","")
str = replace(str,"""""","")
str = replace(str," or ","")
str = replace(str," and ","")
str = replace(str,"update","")
str = replace(str,"-shutdown","")
str = replace(str,"--","")
str = replace(str,"'","")
str = replace(str,"#","")
str = replace(str,"$","")
str = replace(str,"%","")
str = replace(str,"","")
str = replace(str,"&","")
str = replace(str,"'or'1'='1'","")
str = replace(str,"--","")
str = replace(str,"insert","")
str = replace(str,"drop","")
str = replace(str,"delete","")
str = replace(str,"xp_","")
str = replace(str,"select","")
str = replace(str,"*","")
LimparTexto = str
end Sub
'========================================================FIM FUNÇÕES AUXILIARES==================================================
'-------------------------------------------------------------------------------------------------------------------------------
End Class
%>
Como devo proceder, por exemplo na pagina index, para exibir uma foto de determinada categoria, exibir o titulo de determinada noticia?
Enfim, quem puder me ajudar a endender classes no ASP ficarei muito grato!!!
Estou tentando exibir as informações na minha pagina princial da seguinte forma, porem esta dando erro.
Segue abaixo a forma que estou tentando chamar a função que exibe as informações do banco:
<%
Dim CAPA, RS_ExibirConteudoPagina
Set CAPA = new Noticias
CAPA.var_Categoria = "Capa"
CAPA.ExibirConteudoPagina
%>
<% Do While Not CAPA.ExibirConteudoPagina(RS_ExibirConteudoPagina).Eof %>
<div align="left" class="style2"><%= CAPA.ExibirConteudoPagina(RS_ExibirConteudoPagina("titulo")) %></div><br>
<div align="left" class="style2"><%= CAPA.ExibirConteudoPagina(mid(CAPA.RS_ExibirConteudoPagina("titulo"), 1, 35 ))%>...</div>
<%
CAPA.ExibirConteudoPagina(RS_ExibirConteudoPagina).MoveNext
Loop
call fechaconexao
%>
Quando executo a pagina, é exibido o seguinte erro:
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment: 'ExibirConteudoPagina'
É possivel realizar com o asp isso que estou tentando fazer?
Alguém me ajuda?????
Obrigado a todos!!!
ate mais
Editado por quintelab Removido Caixa Alta do Título
Pergunta
ANDRE_GUSTAVO
Galera gostaria de saber como utilizar classes utilizando o ASP
Criei meu arquivo de classe mas não estou sabendo como utiliza-lo.
Peguei como base um exemplo que encontrei na net, mas nesse exemplo a classe apenas inseria os dados no banco.
Tentei uma adaptação para o que necessito, porém sem sucesso!!!
Como eu utilizo as funções da classe??????
Por favor me ajudem.
Segue abaixo meu arquivo com a classe e suas funçoes
Como devo proceder, por exemplo na pagina index, para exibir uma foto de determinada categoria, exibir o titulo de determinada noticia? Enfim, quem puder me ajudar a endender classes no ASP ficarei muito grato!!! Estou tentando exibir as informações na minha pagina princial da seguinte forma, porem esta dando erro. Segue abaixo a forma que estou tentando chamar a função que exibe as informações do banco:Quando executo a pagina, é exibido o seguinte erro:
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment: 'ExibirConteudoPagina'
É possivel realizar com o asp isso que estou tentando fazer?
Alguém me ajuda?????
Obrigado a todos!!!
ate mais
Editado por quintelabRemovido Caixa Alta do Título
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.