Fórum Erro ao tentar inserir no banco com comando SQL #166435

25/06/2003

0

Opa e ai pessoal to precisando de uma ajudazinha...

Eu to tendo um problema com o SQL quando vou cadastrar um cliente
o codigo q eu fiz esta desse jeito:

procedure TFMCadastro_clientes.BTcadastrarClick(Sender: TObject);
begin
DTMPrincipal.QRCadastro_cliente.Close;
DTMPrincipal.QRCadastro_cliente.SQL.Clear;
DTMPrincipal.QRCadastro_cliente.SQL.Add(´insert into cliente (ID, Cliente, Telefone, Endereco, Numero, RG)´);
DTMPrincipal.QRCadastro_cliente.SQL.Add(´values ( :cond1 , :cond2 , :cond3 , :cond4 , :cond5 , :cond6 )´);
DTMPrincipal.QRCadastro_cliente.Params[0].AsString:= ´SOU EU´;
DTMPrincipal.QRCadastro_cliente.Params[1].AsString:= LBEDnome.Text;
DTMPrincipal.QRCadastro_cliente.Params[2].AsString:= MEtelefone.Text;
DTMPrincipal.QRCadastro_cliente.Params[3].AsString:= LBEDendereco.Text;
DTMPrincipal.QRCadastro_cliente.Params[4].AsString:=
LBEDnumero.Text;
DTMPrincipal.QRCadastro_cliente.Params[5].AsString:= MERG.Text;
DTMPrincipal.QRCadastro_cliente.Open;
end;

E quando eu clico em adicionar ele da essa mensagem:

´ERROR CLEATING CURSOR HANDLE´

Se alguem puder me ajudar agradesso muito... :cry:

Clovis Taqueshi Konaka E-mail: ctk@dct.ufms.br


Japa

Japa

Responder

Posts

25/06/2003

Josemarlourenco

O metodo Open (DTMPrincipal.QRCadastro_cliente.Open;) é utilizado em comandos DRL do SQL (Select).
Para comandos DML do SQL (Insert, Update e Delete) ou DDL (Create, alter, ...), use o método ExecSql (DTMPrincipal.QRCadastro_cliente.ExecSql;).

Josemar


Responder

Gostei + 0

26/06/2003

Japa

Muito obrigado amigo, agradeço muito :D


Responder

Gostei + 0

26/06/2003

Leandro Jacomete

Muito obrigado amigo, agradeço muito :D


Vejo que nosso amigo ja te ajudou......

Soh um conselho...... em vez de vc ficar usando: Params use parambyname

assim quando vc tiver uma tabela com muitos campos fica melhor para indentificar qual parametro eh que esta recebendo determinado valor..

esse e o seu

DTMPrincipal.QRCadastro_cliente.Params[0].AsString:= ´SOU EU´;

esse eh a opoção

DTMPrincipal.QRCadastro_cliente.parambyname(´Nome´).AsString:= ´SOU EU´;


use o params numa comparação de data para um select. para um relatorio..............


Responder

Gostei + 0

26/06/2003

Leandro Jacomete

Muito obrigado amigo, agradeço muito :D


Vejo que nosso amigo ja te ajudou......

Soh um conselho...... em vez de vc ficar usando: Params use parambyname

assim quando vc tiver uma tabela com muitos campos fica melhor para indentificar qual parametro eh que esta recebendo determinado valor..

esse e o seu

DTMPrincipal.QRCadastro_cliente.Params[0].AsString:= ´SOU EU´;

esse eh a opoção

DTMPrincipal.QRCadastro_cliente.parambyname(´Nome´).AsString:= ´SOU EU´;


use o params numa comparação de data para um select. para um relatorio..............


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar