Fórum Gravando em branco no Banco de dados #550017
31/03/2016
0
Estou usando SQLServer e os componentes ADO.
Usando uma ADOQuery para inserir dados.
O problema:
- quando uso um DBEdit não dá erro nenhum, porem quando consulta o banco está em branco.
- usando a mesma instrução mas com um Edit não dá erro na gravação e aparece tudo quando se consulta o banco.
o que pode estar acontecendo
Exemplo do codigo:
with qrPadrao do
begin
close;
sql.clear;
sql.add('insert into CLIENTE (nome)');
sql.add('values (:nome)');
parameters.parambyname('nome').value := dbedit1.text;
execSQL;
end;
Renato Sanches
Curtir tópico
+ 0Post mais votado
31/03/2016
begin
close;
sql.clear;
SQL.Add('insert into CLIENTE values(:NOME)');
Parameters.ParamByName('NOME').Value :=Edit1.Text;
TRY
execSQL;
ShowMessage('Insert realizado com sucesso');
EXCEPT
ShowMessage('Falha no Insert');
END;
end;
Raimundo Pereira
Gostei + 1
Mais Posts
01/04/2016
Raylan Zibel
Parameters.ParamByName('NOME').AsString := dbedit1.Field.AsString;Gostei + 0
01/04/2016
Raylan Zibel
begin
close;
sql.clear;
SQL.Add('insert into CLIENTE values(:NOME)');
Parameters.ParamByName('NOME').Value :=Edit1.Text;
TRY
execSQL;
ShowMessage('Insert realizado com sucesso');
EXCEPT
ShowMessage('Falha no Insert');
END;
end;
Ou
TRY
execSQL;
ShowMessage('Insert realizado com sucesso');
EXCEPT
on e: Exception do
begin
ShowMessage('Falha no Insert: ' + e.message);
end;
END;Gostei + 0
01/04/2016
Renato Sanches
Gostei + 0
01/04/2016
Raylan Zibel
with qrPadrao do
begin
close;
sql.clear;
sql.add('insert into CLIENTE (nome) ');
sql.add(' values ('+ QuotedStr(dbedit1.text) +')');;
execSQL;
end;
Se tem valor no "dbedit1.text", tem que funcionar. Senão é alguma coisa no seu banco. Faltando PK ou alguma trigger.
Gostei + 0
02/04/2016
Renato Sanches
Gostei + 0
02/04/2016
Raimundo Pereira
Geralmente, não uso o Dbedit, pois o mesmo deve está conectado ao banco de dados.
Nas rotinas de insert, edit e consulta eu uso um Tedit
Agora se você usar o dbedit, você localizar um determinado registro na tabela para que seja mostrado o valor correto.
Ou seja depois do insert você realiza o lacate.
DM.qrPadrao.locate('CAMPO_A_LOCALIZAR',EDIT1.TEXT,[]);// Vai buscar o registro e focar no mesmo
espero que ajude
Gostei + 0
02/04/2016
Renato Sanches
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)