Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Duvida em uma sql


Vivendo&Aprendendo

Pergunta

Olá pessoal... mais uma vez recorro a vocês aqui do forum.

Tenho um sistema de venda que funciona da seguinte forma:

- digito o código do produto e a qtde;

- confirmo a venda;

- se caso for par do produto ele automáticamente gera outra linha na tabela itens buscando da tabela produtos;

- o meu problema esta aqui, quando o banco estava em access funcionaca beleza, mas mudei para mysql pois o banco ficará online agora, e agora parou de funcionar, apenas a primeira venda busca os produtos certos as outras ele adiciona apenas a primeira linha e as demais são salvas no banco mas em branco.

Segue abaixo a sql de busca dos produtos caso seja par:

Tabela.Close;
        Tabela.SQL.Clear;
        Tabela.SQL.Add('Select * From Produtos');
        Tabela.SQL.Add('Where (LocalReg = "'+Cidade+'")');
        Tabela.SQL.Add(' and (Cor = "'+Cor+'")');
        Tabela.SQL.Add(' and (Categoria = "'+Categoria+'")');
        Tabela.SQL.Add(' and (Veiculo = "'+Veiculo+'")');
        Tabela.SQL.Add(' and (Tipo = "'+Tipo+'")');
        Tabela.SQL.Add(' and (LocalPlaca = "'+Local+'")');
        Tabela.Open;

O que pode ser que esta fazendo dar errado, repito no access ele funciona normalmente, mas no mysql não busca nada, apenas o primeiro produto inserido.

Acredito que tenha começado esse erro pois na tabela produtos existem produtos repetidos que são diferenciados apenas pela cidade onde eles estão. O que não consigo entender é porque na primeira venda do sistema funciona certo e depois para de funcionar.

Uso delphi 7, mysql 5.0 e Zeos.

Abraço

Editado por Vivendo&Aprendendo
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Cara, ao invés de colocar essas variáveis dentro do seu código SQL, não seria melhor usar parâmetros?!

Ao Invés disso:

Tabela.SQL.Clear;
  Tabela.SQL.Add('Select * From Produtos');
  Tabela.SQL.Add('Where (LocalReg = "'+Cidade+'")');
  Tabela.SQL.Add(' and (Cor = "'+Cor+'")');
  Tabela.SQL.Add(' and (Categoria = "'+Categoria+'")');
  Tabela.SQL.Add(' and (Veiculo = "'+Veiculo+'")');
  Tabela.SQL.Add(' and (Tipo = "'+Tipo+'")');
  Tabela.SQL.Add(' and (LocalPlaca = "'+Local+'")');
Tente isso:
Tabela.SQL.Clear;
  Tabela.SQL.Add('Select * From Produtos ');
  Tabela.SQL.Add('Where LocalReg = :par1 ');
  Tabela.SQL.Add('and Cor = :par2 ');
  Tabela.SQL.Add('and Categoria = :par3 ');
  Tabela.SQL.Add('and Veiculo = :par4 ');
  Tabela.SQL.Add('and Tipo = :par5 ');
  Tabela.SQL.Add('and LocalPlaca = :par6');

  Tabela.Params[0].AsTipo := Cidade;
  Tabela.Params[1].AsTipo := Cor;
  Tabela.Params[2].AsTipo := Categoria;
  Tabela.Params[3].AsTipo := Veiculo;
  Tabela.Params[4].AsTipo := Tipo;
  Tabela.Params[5].AsTipo := LocalPlaca;

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...