Ir para conteúdo
Fórum Script Brasil

OSJunior

Veteranos
  • Total de itens

    2.901
  • Registro em

  • Última visita

Posts postados por OSJunior

  1. Oi, Cintia.

    Você tem que fazer o seguinte:

    - Criar uma procedure que execute a busca. Ao que parece, a stored procedure que você está utilizando não efetua nenhuma busca (Alterar_Endereco, retorno do tipo void), mas faz uma atualização na base de dados.

    - Criar um método que chame essa procedure. O seu método update() chama a procedure, mas não retorna nada.

    - Chamar o método de busca da classe que agrega a procedure no OnClick do seu botão Button1.

    Tente algo assim:

    CREATE PROCEDURE Busca
    @ID INTEGER
    AS
    
    SELECT * 
      FROM TABELA 
     WHERE ID = @ID
    public class ClasseDados
    {
        public DataSet Busca(int id)
        {
            SqlConnection con = new SqlConnection("Conexão");
            SqlCommand cmd = new SqlCommand("Busca", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@ID", id);
    
            con.Open();
    
            DataSet ds = new DataSet();
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            adp.Fill(ds);
    
            con.Close();
    
            return ds;
        }
    }
    public class Pagina
    {
        public void Button1_Click(object sender, EventArgs e)
        {
            ClasseDados dados = new ClasseDados();
            dados.Busca(int.Parse(TextBox1.Text));
        }
    }

  2. Olá, Cintia.

    Tente algo assim:

    namespace MeuProjeto.App_Code
    {
        public class Classe
        {
            public void Metodo() { }
        }
    }
    namespace MeuProjeto.Site
    {
        public class Pagina
        {
            public void Botao_OnClick(object sender, EventArgs e)
            {
                MeuProjeto.App_Code.Classe c = new MeuProjeto.App_Code.Classe();
                c.Metodo();
            }
        }
    }

  3. Olá, ena.

    Para fazer os dois exercícios, você deve percorrer toda a lista em busca desses valores, caso ela não esteja ordenada. Caso esteja, você poderá:

    a - pegar o primeiro/último item da lista, se a sua lista tiver uma cabeça/cauda; ou

    b - utilizar a busca binária;

  4. Olá.

    Na verdade, a tabela TAB_PRODUTOS já possuia a constraint desse jeito.

    Acabei por deixar desse último jeito que colocou.

    A trigger também não resolveu.

    O único problema que deu foi quando necessitei remover a categoria pai, pois não removeu os produtos. Como a regra de negócio diz que só é permitido incluir em subcategorias, podemos dizer que, para o meu problema, houve solução.

    Obrigado, meu caro.

  5. Olá, fulvio.

    Vou explicar melhor como estou estruturando.

    Basicamente, são duas tabelas: categorias e produtos.

    create table TAB_CATEGORIAS
    (
        ID_CATEGORIA    INT IDENTITY,
        ID_PARENT        INT,
        NOME            VARCHAR(100)
        constraint PK_CATEGORIAS primary key (ID_CATEGORIA)    
    );
    
    alter table TAB_CATEGORIAS 
    add constraint FK_CATEGORIA_REF_CATEGORIA 
    foreign key (ID_PARENT)
    references TAB_CATEGORIAS (ID_CATEGORIA);
    
    create table TAB_PRODUTOS
    (
        ID_PRODUTO        INT IDENTITY,
        ID_CATEGORIA    INT NOT NULL,
        NOME            VARCHAR(100),
        constraint PK_PRODUTOS primary key (ID_PRODUTO)
    );
    
    alter table TAB_PRODUTOS 
    add constraint FK_PRODUTOS_REF_CATEGORIA 
    foreign key (ID_CATEGORIA)
    references TAB_CATEGORIAS (ID_CATEGORIA);

    Ideia inicial: colocar FK_CATEGORIA_REF_CATEGORIA como on delete cascade para que toda vez que uma categoria for apagada, todos os produtos relacionados a ela também sejam excluídos.

    Com trigger: simular o efeito do on delete cascade. Ou seja, toda vez que algo em TAB_CATEGORIAS for apagado, a trigger é disparada com a finalidade de apagar os itens correspondentes na tabela TAB_PRODUTOS.

    O erro: The DELETE statement conflicted with the REFERENCE constraint "FK_PRODUTOS_REF_CATEGORIA". The conflict occurred in database "TESTES", table "dbo.TAB_PRODUTOS", column 'ID_CATEGORIA'.

    Teoricamente é isto, certo?

    O problema: criei a trigger, testei e não apagou nada. Ocorreu o erro de tentativa inválidade de exclusão. Ou seja, parece que a trigger não foi disparada.

    Abraços

  6. No MSSql2008 consegui fazer sim.

    Pois bem, acho que não vou mesmo conseguir fazer essa referência circular.

    Para contornar isso, estou pensando em criar um trigger que delete o que eu preciso nas demais tabelas. Não estou conseguindo fazer com que isso ocorra. Criei, pois, assim o trigger:

    CREATE TRIGGER TG_ApagaProduto ON TAB_CATEGORIA FOR DELETE
    AS
        DECLARE @ID_CATEGORIA INT = (SELECT ID_CATEGORIA FROM deleted)    
        DELETE FROM TAB_PRODUTOS WHERE ID_CATEGORIA = @ID_CATEGORIA    
    GO

  7. Olá, pessoal.

    Tenho uma tabela e queria saber como adiciono uma constraint FK on delete cascade.

    Problemas:

    - FK para uma PK de uma mesma tabela

    - SQL Server 2005 (no 2008 consegui tranquilo)

    Estou fazendo assim:

    create table CATEGORIAS (
       ID_CATEGORIA   int                  identity,
       ID_PARENT         int                  null,
       NOME                 varchar(50)    not null,
       constraint PK_CATEGORIAS primary key (ID_CATEGORIA)
    );
    go
    
    alter table CATEGORIAS
       add constraint FK_CATEGORI_REFERENCE_CATEGORI foreign key (ID_PARENT)
          references CATEGORIAS (ID_CATEGORIA)
             on delete cascade
    go

  8. É difícil dizer "qual é a melhor linguagem para começar".

    Pela sua experiência com PHP e Javascript, seria interessante escolher entre C++, Java ou C#.

    Se não quer apanhar muito no inícia, descarte C++, porque é bastante complexa para iniciantes. Interessantíssima, mas complexa.

    Não sugiro VB (.NET) ou Delphi para você por causa da sintaxe, que é muito diferente de PHP.

  9. Parece que, infelizmente, o as minhas divs e estão captando o estido do CSS geral. Não perco o meu estilo inline, mas não está saindo do jeito que foi montado fora do wordpress.

    Há tempos que não mexo com CSS, mas queria saber se tem como as divs utilizarem o estilo inline e o que está no arquivo externo. Parece que é isso o que está acontecendo...

  10. Olá, senhores. :)

    Uma dúvida: o meu site tem um CSS geral que é definido tudo nele. Logo, todas as tags HTML vão funcionar a partir desse CSS. Tem como eu definir uma tag com outro estilo (a partir do parâmetro style da própria tag) sem mexer no CSS geral do site?

    Talvez ajude se eu disser que eu estou utilizando o Wordpress e que adicionei um widget de texto com um HTML dentro.

×
×
  • Criar Novo...