bonjour à tous
je suis sur sql 2000 server et delphi 7

mon premier problème c'est que je suis débutant en sql .

mon deuxième problème c'est que j'ai une table (prisecharge) ou il ya des enregistrements,et je veux faire une modification sur un enregistrement donnée si ce dernier existe par contre si ce n'est pas le cas je ferais une insertion

j'ai fais cette requette et sa passe sauf que rien ne se passe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
if query1.FieldByName('num_miss').IsNull  then  
begin
 query1.sql.clear;
  query1.sql.add('insert into prisecharge');
  query1.sql.add('(num_miss,date_pc,mont_dej,mont_din,mont_heber,jour,total_indem,region,type_pc)');
  query1.sql.add('values ( :mission,:Date,:CDEJ,:CDIN,:CHEBER,:JOUR,:CT,:CREGION,:TPC)');
 
query1.ParamByName('CDEJ').asFloat:=strtofloat(edit1.Text);
query1.ParamByName('CDIN').asFloat:=strtofloat(edit2.Text);
query1.ParamByName('CHEBER').asFloat:=strtofloat(edit3.Text);
query1.ParamByName('JOUR').asString:=label17.caption;
query1.ParamByName('TPC').asString:=label14.caption;
query1.ParamByName('CT').asFloat:=strtofloat(edit4.Text);
query1.ParamByName('CREGION').asString:=Edit43.Text;
query1.ParamByName('MISSION').asString:=Edit44.Text;//label11.caption;
query1.ParamByName('DATE').asString:=Prise_Charge_TP_F.label1.caption;
query1.ExecSQL;
 end
 else
 if query1.FieldByName('num_miss').AsString=edit44.Text  then  
 begin
 Requette:=('UPDATE prisecharge  SET mont_dej=:CDEJ,mont_din=:CDIN,mont_heber=:CHEBER,jour=:JOUR,type_pc=:TPC,total_indem=:CT,date_pc=:DATE WHERE num_miss=:MISSION and date_pc=:DATE   ');
Prise_Charge_TP_F.query1.sql.add(requette);
with Prise_Charge_TP_F.query1 do
begin
query1.ParamByName('CDEJ').asFloat:=strtofloat(edit5.Text);
query1.ParamByName('CDIN').asFloat:=strtofloat(edit6.Text);
query1.ParamByName('CHEBER').asFloat:=strtofloat(edit7.Text);
query1.ParamByName('JOUR').asString:=label17.caption;
query1.ParamByName('TPC').asString:=label14.caption;/////////////
query1.ParamByName('CT').asFloat:=strtofloat(edit8.Text);
query1.ParamByName('MISSION').asString:=Edit44.Text;//label11.caption;
query1.ParamByName('DATE').asString:=Prise_Charge_TP_F.label1.caption;
query1.ExecSQL;
 end ;

merci pour votre aide