Provavelmente � um erro em um argumento que n�o est� sendo
passado ou o tipo de dados ao valor que est� sendo passado n�o �
compat�vel.
� um erro muito comum. Eu considero at� um bug por ele n�o
mostrar a excess�o que n�o est�o tratadas dentro do CFC
Para voc� ter ideia se voc� colocar um
<cfdump var=" " /> antes do seu c�digo ele lhe mostra o
erro.
Por�m existe uma forma de ele lhe dizer onde � que est�
ocorrendo o erro vou consertar no seu c�digo e vc testa pra
ver.
Fa�a dessa forma( recomendo o estilo para quem desenvolve
com CFCs )
<cfcomponent displayname="Sitema de Noticias"
hint="Componente de encapsulamento das opera��es SQLs"
output="no">
<cffunction name="Insere Not�cia"
returntype="Struct" output="false">
<cfargument name="noticiaID" type="uuid" required="yes"/>
<cfargument name="ano" type="numeric" required="yes"/>
<cfargument name="data" type="date" required="yes"/>
<cfargument name="fk_catNoticia" type="string" required="yes"/>
<cfargument name="titulo" type="string" required="yes"/>
<cfargument name="noticia" type="string" required="yes"/>
<cfargument name="autor" type="string" required="yes"/>
<cfargument name="exibirNoticia" type="numeric" required="yes"/>
<cfargument name="fk_usuario" type="string" required="yes"/>
<cfargument name="noticiaID" type="uuid" required="yes"/>
<cfargument name="ano" type="numeric" required="yes"/>
<cfargument name="data" type="date" required="yes"/>
<cfargument name="fk_catNoticia" type="string" required="yes"/>
<cfargument name="titulo" type="string" required="yes"/>
<cfargument name="noticia" type="string" required="yes"/>
<cfargument name="autor" type="string" required="yes"/>
<cfargument name="exibirNoticia" type="numeric" required="yes"/>
<cfargument name="fk_usuario" type="string" required="yes"/>
<cfargument name="chamada"
type="string" required="no"/>
<cfargument name="emailAutor" type="string" required="no"/>
<cfargument name="linkNoticia" type="string" required="no"/>
<cfargument name="txtImagem" type="string" required="no"/>
<cfargument name="emailAutor" type="string" required="no"/>
<cfargument name="linkNoticia" type="string" required="no"/>
<cfargument name="txtImagem" type="string" required="no"/>
<cfset var strRetorno =
structNew() />
<cfset strRetorno['erro'] = false />
<cfset strRetorno['erro'] = false />
<cftry>
<cfquery datasource="#Application.DSN#">
insert into tbl_noticias(
noticiaID,
ano,
data,
fk_catNoticia,
titulo,
chamada,
noticia,
autor,
emailAutor,
linkNoticia,
exibirNoticia,
txtImagem,
fk_usuario
)
values(
'#arguments.noticiaID#',
'#arguments.ano#',
#CreateDateTime( Year( arguments.data ), Month( arguments.data ), Day( arguments.data ), Hour( arguments.data ), Minute( arguments.data ), Second( arguments.data ))#,
'#arguments.fk_catNoticia#',
'#arguments.titulo#',
'#arguments.noticia#',
'#arguments.autor#',
'#arguments.exibirNoticia#',
'#arguments.fk_usuario#',
<cfif IsDefined('arguments.chamada') and Len(Trim(arguments.chamada))>
'#arguments.chamada#'
<cfelse>
NULL
</cfif>,
<cfif IsDefined('arguments.emailAutor') and Len(Trim(arguments.emailAutor))>
'#arguments.emailAutor#'
<cfelse>
NULL
</cfif>,
<cfif IsDefined('arguments.linkNoticia') and Len(Trim(arguments.linkNoticia))>
'#arguments.linkNoticia#'
<cfelse>
NULL
</cfif>,
<cfif IsDefined('arguments.txtImagem') and Len(Trim(arguments.txtImagem))>
'#arguments.txtImagem#'
<cfelse>
NULL
</cfif>
)
</cfquery>
<cfset strRetorno['mensagem'] = 'Not�cia cadastrada com Sucesso' />
<cfcatch type="database">
<cfset strRetorno['dump'] = cfcatch /> <!-- isso vc remove depois que tudo estiver ok --->
<cfset strRetorno['erro'] = true />
<cfset strRetorno['mensagem'] = 'Problemas ao tentar cadastrar not�cia' & cfcatch.Detail/>
</cfcatch>
</cftry>
<cfreturn strRetorno />
</cffunction>
</cfcomponent>
======================================
<cfquery datasource="#Application.DSN#">
insert into tbl_noticias(
noticiaID,
ano,
data,
fk_catNoticia,
titulo,
chamada,
noticia,
autor,
emailAutor,
linkNoticia,
exibirNoticia,
txtImagem,
fk_usuario
)
values(
'#arguments.noticiaID#',
'#arguments.ano#',
#CreateDateTime( Year( arguments.data ), Month( arguments.data ), Day( arguments.data ), Hour( arguments.data ), Minute( arguments.data ), Second( arguments.data ))#,
'#arguments.fk_catNoticia#',
'#arguments.titulo#',
'#arguments.noticia#',
'#arguments.autor#',
'#arguments.exibirNoticia#',
'#arguments.fk_usuario#',
<cfif IsDefined('arguments.chamada') and Len(Trim(arguments.chamada))>
'#arguments.chamada#'
<cfelse>
NULL
</cfif>,
<cfif IsDefined('arguments.emailAutor') and Len(Trim(arguments.emailAutor))>
'#arguments.emailAutor#'
<cfelse>
NULL
</cfif>,
<cfif IsDefined('arguments.linkNoticia') and Len(Trim(arguments.linkNoticia))>
'#arguments.linkNoticia#'
<cfelse>
NULL
</cfif>,
<cfif IsDefined('arguments.txtImagem') and Len(Trim(arguments.txtImagem))>
'#arguments.txtImagem#'
<cfelse>
NULL
</cfif>
)
</cfquery>
<cfset strRetorno['mensagem'] = 'Not�cia cadastrada com Sucesso' />
<cfcatch type="database">
<cfset strRetorno['dump'] = cfcatch /> <!-- isso vc remove depois que tudo estiver ok --->
<cfset strRetorno['erro'] = true />
<cfset strRetorno['mensagem'] = 'Problemas ao tentar cadastrar not�cia' & cfcatch.Detail/>
</cfcatch>
</cftry>
<cfreturn strRetorno />
</cffunction>
</cfcomponent>
======================================
<cfscript>
instancia = createObject('component','adm_noticias');
insertNoticia = instancia.inserir( ArgumentCollection = Form ); // aqui vc passsa a cole��o dos argumentos, acredito que � bem mais pr�tico.
</cfscript>
<cfdump var="#insertNoticia#" label="Retorna uma
estrutura, ou com a mensagem de sucesso ou com os detalhes do Erro
Tratado"/>
Atenciosamente,
Jefferson Petilo
ICQ : 159071912
MSN:
[EMAIL PROTECTED]
KM&M Engenharia de Sistemas
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Carla Santos
Enviada em: ter�a-feira, 6 de abril de 2004 10:11
Para: Lista CFBrasil
Assunto: [cf-brasil] Erro 500 ao usar CFCs para Inserir
Ol� pessoal.
Estou tendo um erro [B]HTTP 500 - erro interno do servidor Internet Explorer[/B], fazendo uso de um CFC para cadastrar not�cias.
N�o consigo verificar onde est� o erro. Se algu�m puder me ajudar agrade�o.
Abaixo meu CFC:
adm_noticias.cfc
<cfcomponent displayname="Sitema de Noticias" hint="Componente de encapsulamento das opera��es SQLs" output="no">
<!---Fun��o para Inserir as Not�cias--->
<cffunction name="Inserir" hint="Inser��o de novas Not�cias" returntype="any">
<cfargument name="noticiaID" type="uuid" required="yes">
<cfargument name="ano" type="numeric" required="yes">
<cfargument name="data" type="date" required="yes">
<cfargument name="fk_catNoticia" type="string" required="yes">
<cfargument name="titulo" type="string" required="yes">
<cfargument name="chamada" type="string" required="no">
<cfargument name="noticia" type="string" required="yes">
<cfargument name="autor" type="string" required="yes">
<cfargument name="emailAutor" type="string" required="no">
<cfargument name="linkNoticia" type="string" required="no">
<cfargument name="exibirNoticia" type="numeric" required="yes">
<cfargument name="txtImagem" type="string" required="no">
<cfargument name="fk_usuario" type="string" required="yes">
<cfquery name="qInsereNoticia" datasource="#Application.DSN#">
insert into
tbl_noticias(noticiaID, ano, data, fk_catNoticia, titulo, chamada, noticia, autor, emailAutor, linkNoticia, exibirNoticia, txtImagem, fk_usuario)
values('#arguments.noticiaID#','#arguments.ano#','#arguments.data#','#arguments.fk_catNoticia#','#arguments.titulo#',
'#arguments.chamada#','#arguments.noticia#','#arguments.autor#','#arguments.emailAutor#','#arguments.linkNoticia#',
'#arguments.txtImagem#','#arguments.exibirNoticia#','#arguments.fk_usuario#')
</cfquery>
<cfreturn>
</cffunction>
</cfcomponent>
======================================
Estou tendo um erro [B]HTTP 500 - erro interno do servidor Internet Explorer[/B], fazendo uso de um CFC para cadastrar not�cias.
N�o consigo verificar onde est� o erro. Se algu�m puder me ajudar agrade�o.
Abaixo meu CFC:
adm_noticias.cfc
<cfcomponent displayname="Sitema de Noticias" hint="Componente de encapsulamento das opera��es SQLs" output="no">
<!---Fun��o para Inserir as Not�cias--->
<cffunction name="Inserir" hint="Inser��o de novas Not�cias" returntype="any">
<cfargument name="noticiaID" type="uuid" required="yes">
<cfargument name="ano" type="numeric" required="yes">
<cfargument name="data" type="date" required="yes">
<cfargument name="fk_catNoticia" type="string" required="yes">
<cfargument name="titulo" type="string" required="yes">
<cfargument name="chamada" type="string" required="no">
<cfargument name="noticia" type="string" required="yes">
<cfargument name="autor" type="string" required="yes">
<cfargument name="emailAutor" type="string" required="no">
<cfargument name="linkNoticia" type="string" required="no">
<cfargument name="exibirNoticia" type="numeric" required="yes">
<cfargument name="txtImagem" type="string" required="no">
<cfargument name="fk_usuario" type="string" required="yes">
<cfquery name="qInsereNoticia" datasource="#Application.DSN#">
insert into
tbl_noticias(noticiaID, ano, data, fk_catNoticia, titulo, chamada, noticia, autor, emailAutor, linkNoticia, exibirNoticia, txtImagem, fk_usuario)
values('#arguments.noticiaID#','#arguments.ano#','#arguments.data#','#arguments.fk_catNoticia#','#arguments.titulo#',
'#arguments.chamada#','#arguments.noticia#','#arguments.autor#','#arguments.emailAutor#','#arguments.linkNoticia#',
'#arguments.txtImagem#','#arguments.exibirNoticia#','#arguments.fk_usuario#')
</cfquery>
<cfreturn>
</cffunction>
</cfcomponent>
======================================
Tenho uma p�gina de cadastro normal que ao ser enviado os dados vai para
CadNoticias_sucesso.cfm onde fa�o a chamada do
CFC:
<cfscript>
instancia = createObject('component','adm_noticias');
insertNoticia = instancia.Inserir(ano=form.ano,
data=""> fk_catNoticia=form.catNoticia,
titulo=form.titulo,
chamada = form.chamada,
noticia=form.noticia,
autor=form.autor,
emailAutor=form.emailAutor,
linkNoticia=form.linkNoticia,
exibirNoticia=form.exibirNoticia,
txtImagem=form.txtImagem,
fk_usuario=form.fk_usuario);
</cfscript>
<cfscript>
instancia = createObject('component','adm_noticias');
insertNoticia = instancia.Inserir(ano=form.ano,
data=""> fk_catNoticia=form.catNoticia,
titulo=form.titulo,
chamada = form.chamada,
noticia=form.noticia,
autor=form.autor,
emailAutor=form.emailAutor,
linkNoticia=form.linkNoticia,
exibirNoticia=form.exibirNoticia,
txtImagem=form.txtImagem,
fk_usuario=form.fk_usuario);
</cfscript>
======================================
Abra�os
Carla Santos
Yahoo! Mail - O melhor e-mail do Brasil. Abra sua conta agora!
