Aşagıdaki kod çalıştığında hata vermiyor.Asıl sıkıntı ADOQuery7 update gerçekleşmiyor.Kod çalışıyor fakat update ettigim table alandaki degeri ne yazıkki göremiyorum.'where SIRANO=:abs'); Sırano autoinc alanı burdamı hatamı yapıyorum diyorum.Yardımlarınızı bekliyorum.
Kod: Tümünü seç
procedure TForm1.Button6Click(Sender: TObject);
var
asd:double;
Begin
ADOConnection1.Connected:=True;
ADODataSet2.Connection:=ADOConnection1;
ADOQuery7.Connection:=ADOConnection1;
ADOQuerygelen.Connection:=ADOConnection1;
try
ADOConnection1.BeginTrans; //transectionu başlat
try
case DataSource2.State of ////eger datasourc durumu
dsinsert: ///insert pozisyonunda ise
begin
if ADODataSet2.FieldByName('GELENNO').IsNull then
begin
ADODataSet2.Active;
ADODataSet2.FieldByName('TARIH').AsDateTime:=Date; //tarihi bugünün tarihini kullan
ADODataSet2.Post;
ADODataSet2.UpdateBatch(arCurrent);
ADOConnection1.CommitTrans; // transectonu uygula
end
else
begin
with ADOQuerygelen do
begin
Active;
Close;
SQL.Clear;
SQL.Add('SELECT Count(*) FROM giden');
Open;
UpdateBatch(arAll);
end;
asd:= ADOQuerygelen.Fields[0].AsFloat+1;
ADODataSet2.Active;
ADODataSet2.FieldByName('TARIH').AsDateTime:=Date; //tarihi bugünün tarihini kullan
ADODataSet2.Post;
ADODataSet2.UpdateBatch(arCurrent);
//ShowMessage(floatToStr(asd));
with ADOQuery7 do
begin
Active;
SQL.Clear;
SQL.Add('Update gelen set GIDENNO=:ab');
SQL.Add('where SIRANO=:abs');
Parameters.ParamByName('ab').Value:=asd;
Parameters.ParamByName('abs').Value:=QuotedStr(DBEdit2.Text);
ExecSQL;
//UpdateBatch(arAll);
end;
end;
end;
dsedit: ///edit pozisyonunda ise
begin
ADODataSet2.Active;
ADODataSet2.FieldByName('TARIH').AsDateTime:=DateOf(DateTimePicker3.Date);//tarihi bugünün tarihini kullan
ADODataSet2.Post;
ADODataSet2.UpdateBatch(arCurrent);
ADOConnection1.CommitTrans; // transectonu uygula
end;
end;
except
on E:Exception do
begin
ADOConnection1.RollbackTrans; //Çakışma varsa tersini uygula
ShowMessage('Kayıt işleminde bir hata oldu tekrar edin.!');
end;
end;
DateTimePicker1.SetFocus;
ADODataSet2.Insert;
finally
ADODataSet2.Connection:=nil;
ADOQuery7.Connection:=nil;
ADOQuerygelen.Connection:=nil;
ADOConnection1.Connected:=False;
end;
end;