Array
(
)

ADOQuery1: Missing SQL property

Paulo
   - 30 out 2009

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. #Código

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.

Pjrm1470
   - 30 out 2009

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.

0
|
0

Martins
   - 30 out 2009

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

Boa Sorte e bons códigos.

0
|
0