Acesso a banco Access

10/07/2008

0

Salve!

Estou criando uma classe que tem um método para incluir registros numa tabela de domínio de um banco Access que contém apenas um campo. O método está conforme a seguir:

Public Class Perfis
Public Sub IncluirPerfil(ByVal p_dcPerfil As String)
Dim con As OleDbConnection = New OleDbConnection(conStr)
Dim SQL As String = ´INSERT INTO tb_perfil (dcPerfil) VALUES (par_dcPerfil)´
Dim cmd As OleDbCommand = New OleDbCommand(SQL, con)

cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue(´par_dcPerfil´, p_dcPerfil)

Try
con.Open()
cmd.ExecuteNonQuery()
Finally
con.Close()
End Try
End Sub
End Class

Numa página tenho um ObjectDatasource que está configurado para acessar a classe acima (com o método de INSERT apontando para o método acima descrito)e um DetailsView que acessa o ObjectDatasource.

Ao clicar no link button de Inserir do DetailsView recebo a seguinte mensagem:
ObjectDataSource ´odsPerfis´ não pôde localizar um método não genérico ´IncluirPerfil´ que tenha parâmetros: p_dcPerfil, dcPerfil.

Onde estou errando?

Agradeço a atenção de todos.

Cordialmente,
Paulo Ricardo Ferreira
Rio de Janeiro - BR


Pricardo

Pricardo

Responder

Posts

14/07/2008

Donatopaschoa

Tudo bem pricardo ?

Estive num cenário parecido c/ este e na época não sabia como resolver.

Foi quando percebi que o problema estava na ´visibilidade´ do método embutido na classe, ou seja, na sua classe ´Perfis´, tente substituir o método:
- ´Public Sub IncluirPerfil(ByVal p_dcPerfil As String)...´

Pelo método:
- ´Public Shared Sub IncluirPerfil(ByVal p_dcPerfil As String)...´


O ´poder´ da palavra ´Shared´ está diretamente ligado a visibilidade em qualquer outra classe onde vc deseja chamar o método ´IncluirPerfil

Espero ter contribuído.

Abçs.

Salve! Estou criando uma classe que tem um método para incluir registros numa tabela de domínio de um banco Access que contém apenas um campo. O método está conforme a seguir: Public Class Perfis Public Sub IncluirPerfil(ByVal p_dcPerfil As String) Dim con As OleDbConnection = New OleDbConnection(conStr) Dim SQL As String = ´INSERT INTO tb_perfil (dcPerfil) VALUES (par_dcPerfil)´ Dim cmd As OleDbCommand = New OleDbCommand(SQL, con) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.AddWithValue(´par_dcPerfil´, p_dcPerfil) Try con.Open() cmd.ExecuteNonQuery() Finally con.Close() End Try End Sub End Class Numa página tenho um ObjectDatasource que está configurado para acessar a classe acima (com o método de INSERT apontando para o método acima descrito)e um DetailsView que acessa o ObjectDatasource. Ao clicar no link button de Inserir do DetailsView recebo a seguinte mensagem: ObjectDataSource ´odsPerfis´ não pôde localizar um método não genérico ´IncluirPerfil´ que tenha parâmetros: p_dcPerfil, dcPerfil. Onde estou errando? Agradeço a atenção de todos. Cordialmente, Paulo Ricardo Ferreira Rio de Janeiro - BR



Responder

14/07/2008

Pricardo

Prezado Donato,

Acho que você deu a dica certa. Tão logo eu retorne das minhas férias vou testar a sua dica.

Agradeço a atenção.

Cordialmente,


Responder

28/07/2008

Pricardo

Prezado Donato,

Tentei a sugestão enviada por você de colocar o método como [i:0c0e9503cf]Shared [/i:0c0e9503cf]mas, infelizmente, continuou dando a mesma mensagem de erro:
´ObjectDataSource odsPerfis não pôde localizar um método não genérico ´IncluirPerfil´ que tenha parâmetros: par_dcPerfil, dcPerfil.´

Agradeço a sua atenção.

Cordialmente,


Responder

18/08/2008

Shmathz

Boa tarde
Sou novato em programação asp.net e gostaria se possível umas dicas de como publicar os sites depois de estar tudo funionado localemte em sua maquina você publica através das opções build, public web site escolhe o endereço no caso ftp, depois da mensagem publicação com sucesso.
O que tenho que fazer se o servidor não dá suporte a sqlexpress 2005
Criei o banco no admin do servidor manualmemte executanto toas as store procedures e criando todas as tabelas mas continua a dar erro.
Você teria uma dica dentro deste contexto para fornecer.
segue erro abaixo

Server Error in ´/pizza´ Application.
--------------------------------------------------------------------------------

Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a ´web.config´ configuration file located in the root directory of the current web application. This <customErrors> tag should then have its ´mode´ attribute set to ´Off´.


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode=´Off´/>
</system.web>
</configuration>


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the ´defaultRedirect´ attribute of the application´s <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode=´RemoteOnly´ defaultRedirect=´mycustompage.htm´/>
</system.web>
</configuration>



grato
vladimir shmathz


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar