ADOQuery1: Missing SQL property

30/10/2009

0

Boa tarde... Pessoal estou começando a estudar trabalhar com Delphi... Necessito realizar um simples cadastro de Clientes utilizando SQL Server 2005, ADOConnection e ADOQuery. Ao clicar no botão para realizar o insert no banco aparece a seguinte mensagem: ADOQuery1: Missing SQL property Acredito que o erro está no comando SQL. Abaixo o código do botão.
procedure TfrmInserirClientes.BitBtn7Click(Sender: TObject);
begin
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Insert into clientes'
                        +'(cliente_codigo, cliente_razao, cliente_nome, cliente_contato,'
                        + ' cliente_endereco, cliente_numero, cliente_complemento,'
                        + ' cliente_bairro, cliente_cidade, cliente_uf, cliente_cep,'
                        + ' cliente_caixapostal, cliente_telefone, cliente_telefone2,'
                        + ' cliente_fax, cliente_email, cliente_cpj, cliente_cpf,cliente_rg,'
                        + ' cliente_insc, cliente_pessoa, cliente_comentario)'
                        +'values('
                        +Edit1.Text //codigo
                        +', '
                        +QuotedStr(Edit2.Text)//razão
                        +', '
                        +QuotedStr(Edit3.Text)//nome
                        +', '
                        +QuotedStr(Edit4.Text)//contato
                        +', '
                        +QuotedStr(Edit5.Text)//endereco
                        +', '
                        +Edit6.Text //numero
                        +', '
                        +QuotedStr(Edit7.Text)//complemento
                        +', '
                        +QuotedStr(Edit8.Text) //bairro
                        +', '
                        +QuotedStr(Edit9.Text) //cidade
                        +', '
                        +QuotedStr(ComboBox1.Text)//uf
                        +', '
                        +QuotedStr(Edit10.Text) //cep
                        +', '
                        +Edit11.Text //caixapostal
                        +', '
                        +QuotedStr(Edit12.Text) //telefone
                        +', '
                        +QuotedStr(Edit13.Text) //telefone2
                        +', '
                        +QuotedStr(Edit14.Text) //fax
                        +', '
                        +QuotedStr(Edit15.Text) //email
                        +', '
                        +QuotedStr(Edit16.Text) //cnpj
                        +', '
                        +QuotedStr(Edit17.Text) //cpf
                        +', '
                        +Edit19.Text  // rg
                        +', '
                        +QuotedStr(Edit18.Text)  //inscricao
                        +', '
                        +QuotedStr(t) //pessoa
                        +', '
                        +QuotedStr(Memo1.Text)//comentario
                        +')'
                  );
  ADOQuery1.ExecSQL;
end;
Se alguem puder me ajudar agradeço desde já... Obrigado.
Paulo

Paulo

Responder

Posts

30/10/2009

Pjrm1470

Não é comun usar o TADOQuery para executar INSERT, UPDATE e DELETE comandos.
Troque para o TADOCommand.

1.Coloque o seu SQL na propriedade CommandText.
2.Utilize a procedure Execute para executar o comando.

| TADOCommand.CommandText := 'Seu INSERT';
| TADOCommand.Execute;

Minha opnião: Se o programa não irá trocar o SQL dentro da query, deixe o SQL já escrito dentro da propriedade.
Responder

30/10/2009

Perivaldo Martins

Antes de: ADOQuery1.SQL.Clear; vc colocou ADOQuery1.Close? Não vi no código postado aqui.

Boa Sorte e bons códigos.
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