Kolay gelsin öncelikle herkese,
AdoQuery ile bir kayıt oluşturuyorum,*kayıt ettiğim tabloda**IDENTITY bir alan var ve otomatik olarak oluşuyor (Buraya kadar sorun yok). Ben bu arada o oluşan kayıt ile ilgili başka bir Detail tabloda da kayıt girmem gerekiyor, ve bana bu oluşan kaydın*IDENTITY* olarak seçtiğim "Kay_no" alanında oluşan değer lazım. bunu nasıl alabilirim. Son kayda gitmeyi falan denedim ama güvenli gelmedi, direk AdoQuery ile yaptığım kayıttaki oluşan*IDENTITY* alanındaki değere ihtiyacım var yani,
Kolay gelsin.
Şu alttaki örneği denedim ama olmadı. D7 Kullanıyorum
//Yeni bir kayıt...
var
*LastID: Integer;
*Query: TADOQuery;
begin
*Query.Active := False;
*Query.SQL.Clear;
*Query.SQL.Append('INSERT INTO Table (Spalte) VALUES (Value)');
*Query.ExecSQL;
*//Buradaki satır ile yukarıdaki açıklamamızda belirtmiş olduğumuz gibi TAdOQuery nesnesini GetLastID fonksiyonuna parametre ile geçtikten sonra insert işlemi yapılan kaydın id'si "SELECT @@IDENTITY" sql sorgusu ile bize geri dönderilmektedir.
*LastID := GetLastID(Query);
end;
//GetLastID Fonksiyonu
function GetLastID(var Query: TADOQuery {or TQuery}): Integer;
begin
*result := -1;
*try
* *Query.SQL.clear;
* *{Insert işlemi yaptığımız kaydın id'sini "SELECT @@IDENTITY"
* * sorgusuyla almaktayız}
* *Query.SQL.Add('SELECT @@IDENTITY');
* *Query.Active := True;
* *Query.First;
* *result := Query.Fields.Fields[0].AsInteger;
*finally
* *Query.Active := False;
* *Query.SQL.clear;
*end;
end;
AdoQuery ile bir kayıt oluşturuyorum,*kayıt ettiğim tabloda**IDENTITY bir alan var ve otomatik olarak oluşuyor (Buraya kadar sorun yok). Ben bu arada o oluşan kayıt ile ilgili başka bir Detail tabloda da kayıt girmem gerekiyor, ve bana bu oluşan kaydın*IDENTITY* olarak seçtiğim "Kay_no" alanında oluşan değer lazım. bunu nasıl alabilirim. Son kayda gitmeyi falan denedim ama güvenli gelmedi, direk AdoQuery ile yaptığım kayıttaki oluşan*IDENTITY* alanındaki değere ihtiyacım var yani,
Kolay gelsin.
Şu alttaki örneği denedim ama olmadı. D7 Kullanıyorum
//Yeni bir kayıt...
var
*LastID: Integer;
*Query: TADOQuery;
begin
*Query.Active := False;
*Query.SQL.Clear;
*Query.SQL.Append('INSERT INTO Table (Spalte) VALUES (Value)');
*Query.ExecSQL;
*//Buradaki satır ile yukarıdaki açıklamamızda belirtmiş olduğumuz gibi TAdOQuery nesnesini GetLastID fonksiyonuna parametre ile geçtikten sonra insert işlemi yapılan kaydın id'si "SELECT @@IDENTITY" sql sorgusu ile bize geri dönderilmektedir.
*LastID := GetLastID(Query);
end;
//GetLastID Fonksiyonu
function GetLastID(var Query: TADOQuery {or TQuery}): Integer;
begin
*result := -1;
*try
* *Query.SQL.clear;
* *{Insert işlemi yaptığımız kaydın id'sini "SELECT @@IDENTITY"
* * sorgusuyla almaktayız}
* *Query.SQL.Add('SELECT @@IDENTITY');
* *Query.Active := True;
* *Query.First;
* *result := Query.Fields.Fields[0].AsInteger;
*finally
* *Query.Active := False;
* *Query.SQL.clear;
*end;
end;