none
Usando o ObjectDataSource - Problemas no Class Library!!!!!!!!!!! RRS feed

  • Pergunta

  • Pessoal,

    Ao fazer a troca do Sqldatasorce pelo objectdatasource usando a interface do VS2008 ele pergunta se eu queria fazer o refresh das colunas do gridview, eu respondi que sim...mas, ao rodar o projeto vi que apareceu uma mensagem sobre alguns problemas na Class Library, vc poderiam dar uma mãozinha? a mensagem era: "A project with Output type Class library cannot be started directly.In order to debug this project add an  exectable project to this solution with references the library project. Set the executable project as the startup project"
    Acho que perdeu a referencia que dei, é isso? vlw pela ajuda!


    Até um GENIO tem que aprender tudo que já sabe! BRUCE WAYNE
    sábado, 25 de julho de 2009 16:39

Respostas

Todas as Respostas

  • Olá

    Está explicito na mensagem. Traduzindo:

    "um projeto com saida do tipo Class Library não pode executar diretamente. Para depurar este projeto, adicione um projeto executavel na sua solução com referencias para o projeto Class Library. Defina o projeto executavel como o projeto inicial (startup)".

    Ou seja, voce está dando um Ctrl F5 no projeto Class Library, mas é impossivel executar diretamente uma DLL. Voce deve adicionar a referencia no projeto principal (Windows Forms, Web, ....) e executa-lo.

    []s




    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    sábado, 25 de julho de 2009 17:02
  • Ai, reiniciei o meu VS e tentei executar ai a minha Gridview sumiu no browser, só o Detailsview aparece normal...isso tem haver com o refresh que eu dei? Eu tinha já add uma referencia anterior ao projeto principal mas, não funcionou...valeu pela ajuda Robson...

    Até um GENIO tem que aprender tudo que já sabe! BRUCE WAYNE
    sábado, 25 de julho de 2009 17:09
  • Opa

    Tem a ver com o refresh sim. Se voce permitir o refresh, o grid será atualizado para refletir as informações do novo DataSource ao qual voce o ligou.

    Como voce está usando o ObjectDataSource voce deve, pelo menos, escolher o metodo de consulta a partir de uma classe sua.

    Qualquer coisa, se não estiver conseguindo usar o ObjectDataSource, dê um alô (ou dê uma procura nos outros topicos)

    []s
    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    sábado, 25 de julho de 2009 21:38
  • Caro Robson,

    Olha só como eu não tinha idéia de como conseguir reverter os efeitos do Refresh, refiz o projeto todinho do zero, incluindo a interface e o DAL, passei desse ponto SEM DAR REFRESH e tudo foi resolvido, no entanto, quando fiz a codificação do SELECT ele apareceu normal no Browser com os dados do BD. Até ai blz, mas, quando codifiquei o INSERT, UPDATE e DELETE, esses métodos não aparecem para ser configurados no OBJECTDATASOURCE...O SELECT apareceu normal e eu configurei mas, esses outros métodos não são mostrados na configuração do ObejctDataSource...que fiz errado??? Pode me ajudar e criticar meu código? ai vai ele:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    
    namespace DAL4
    {
        public class HISTORICO3
        {
            private String ConStr = @"Data Source=MS-USER\SQLEXPRESS;Initial Catalog=MAISHISTORICOS;Integrated Security=True";
            public DataSet Select()
            {
                SqlConnection con = new SqlConnection(ConStr);
                String SQL = "select * from HISTORICO3";
                SqlCommand cmd = new SqlCommand(SQL, con);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                return ds;
    
            }
            public void Update(int Cod_Cli,int Cod_Fun,DateTime Data,String Atividade)
            {
                SqlConnection con = new SqlConnection(ConStr);
                String SQL = "Update HISTORICO3 set Cod_Fun=@COD_FUN,Data=@DATA,Atividade=@ATIVIDADE where Cod_Cli=@COD_CLI";
                SqlCommand cmd = new SqlCommand(SQL, con);
                cmd.Parameters.AddWithValue("@COD_FUN", Cod_Fun);
                cmd.Parameters.AddWithValue("@DATA", Data);
                cmd.Parameters.AddWithValue("@ATIVIDADE", Atividade);
                cmd.Parameters.AddWithValue("@COD_CLI", Cod_Cli);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
            public void Insert(int Cod_Cli,int Cod_Fun,DateTime Data,String Atividade)
            {
                SqlConnection con = new SqlConnection(ConStr);
                String SQL = "insert into HISTORICO3 (Cod_Cli,Cod_Fun,Data,Atividade) values (@COD_CLI,@COD_FUN,@DATA,@ATIVIDADE)";
                SqlCommand cmd = new SqlCommand(SQL, con);
                cmd.Parameters.AddWithValue("@COD_FUN", Cod_Fun);
                cmd.Parameters.AddWithValue("@DATA", Data);
                cmd.Parameters.AddWithValue("@ATIVIDADE", Atividade);
                cmd.Parameters.AddWithValue("@COD_CLI", Cod_Cli);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
            public void Delete(int Cod_Cli)
            {
                SqlConnection con = new SqlConnection(ConStr);
                String SQL = "delete HISTORICO3 where Cod_Cli=@COD_CLI";
                SqlCommand cmd = new SqlCommand(SQL, con);
                cmd.Parameters.AddWithValue("@COD_CLI", Cod_Cli);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
    
            
        }
    }
    Desda já agradeço muito pela ajuda que me tem dado...vlw!

    Até um GENIO tem que aprender tudo que já sabe! BRUCE WAYNE
    domingo, 26 de julho de 2009 02:36
  • Oi,

    Existem atributos que você deve aplicar nos métodos para que sejam visíveis no objectdatasource.

    Porém, ao invés disso, dê uma olhada neste artigo - http://www.bufaloinfo.com.br/artigos/artigo26062006.asp - é bem mais simples e chega no mesmo resultado : o trabalho em camadas com elevada simplicidade de manutenção.

    []'s

    Dennes
    *Treinamento de ASP.NET 3.5 c/Visual Studio 2008 no Rio - 01/08 - Apenas 12xR$ 66,15
    Inscreva-se em http://www.bufaloinfo.com.br/cursos/aspnet2.asp
    Tel : 2262-1368 /9240-5134  E-Mail : Contato@bufaloinfo.com.br


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    • Sugerido como Resposta Harley Araujo quinta-feira, 30 de julho de 2009 14:44
    • Marcado como Resposta Harley Araujo quinta-feira, 20 de agosto de 2009 18:32
    quarta-feira, 29 de julho de 2009 07:33
  • Dennes obrigado pela ajuda vou fazer e volto pra falar do resultado...
    Até um GENIO tem que aprender tudo que já sabe! BRUCE WAYNE
    quarta-feira, 29 de julho de 2009 13:40