Erro ao tentar inserir no banco com comando SQL
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
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
Curtidas 0
Respostas
Josemarlourenco
25/06/2003
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
Para comandos DML do SQL (Insert, Update e Delete) ou DDL (Create, alter, ...), use o método ExecSql (DTMPrincipal.QRCadastro_cliente.ExecSql;).
Josemar
GOSTEI 0
Japa
25/06/2003
Muito obrigado amigo, agradeço muito :D
GOSTEI 0
Leandro Jacomete
25/06/2003
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..............
GOSTEI 0
Leandro Jacomete
25/06/2003
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..............
GOSTEI 0