Fórum Insert apenas se não existir??? How? #197511
27/11/2003
0
Estou usando SQL Server 7.
Tabela Contas.
CAMPOS
NumAgencia: integer
NumConta: integer
Limite: money
Saldo: money
Portanto só poderia inserir se a agencia E a conta digitada não existirem no banco!
Grato! :lol:
Dead_thinker
Curtir tópico
+ 0Posts
27/11/2003
Airto
Gostei + 0
27/11/2003
Dead_thinker
Imaginei q teria um ´If...select nãoRetornarNada then inclua´, mas não sei como fazer isso em termos de comandos SQL.
Foi malz ai se não expliquei direito!
Obrigado pelo help! :D
Gostei + 0
28/11/2003
Nigro
append
post
else
edit
ou voce pode usar um locate
if locate.....
edit
else
append
Gostei + 0
28/11/2003
Dead_thinker
Segue código:
procedure TForm4.Button1Click(Sender: TObject);
begin
with Form1.QVerify do
begin
CLose;
SQl.Clear;
SQL.Add(´Select Count(*)´);
SQL.Add(´from Contas´);
SQL.Add(´where NumAge = (:0_nAG) and NumConta = (:1_nCT)´);
Parameters[0].Value:= strtoint(Edit1.Text);
Parameters[1].Value:= strtoint(Edit2.Text);
ExecSQL;
Open;
end;
If (Form1.QVerify.RecordCount= 0) then
begin
with Form1.QGeral do
begin
Close;
SQL.Clear;
SQL.Add(´insert into CONTAS´);
SQL.Add(´(Numage, Numconta, Limite, Saldo) Values´);
SQl.Add(´(:0_nAG, :1_nCT, :2_Lim, :3_Sald)´);
Parameters[0].Value:= strtoint(Edit1.Text);
Parameters[1].Value:= strtoint(Edit2.Text);
Parameters[2].Value:= strtofloat(Edit3.Text);
Parameters[3].Value:= strtofloat(Edit4.Text);
ExecSQL;
end;
ShowMessage(´Registro Incluído!´);;
Button5Click(Sender);
end
Else
ShowMessage(´Agência/Conta existentes!´)
end;
Gostei + 0
28/11/2003
Fbag22
SELECT NumAgencia, NumConta, Limite, Saldo
FROM dbo.Contas
WHERE (NumConta = @Conta)
no componente ADO selecione esta procedure e veja a propriedade Parameters, deve ter dois valores: @return ou alguma coisa assim e @Conta, agora via codigo, basta fornecer o parametro.
ADODataset.Parameters[1].Value := NumdaConta;
ADODataset.Requery;
e então é só contar os campos
IF ADODataset.RecordCount > 0 Then
ShowMessage(´Existe esta conta´)
ELSE
os comandos de Insert...
Espero que tenha ajudado
Gostei + 0
28/11/2003
Fbag22
SQL.Add(´where NumAge = (:0_nAG) and NumConta = (:1_nCT)´);
colocar
SQL.Add(´where NumAge = @0_nAG and NumConta = @1_nCT´);
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)