View Full Version : تشخیص دادن درج رکورد جدید در SQL Server
smt1383
شنبه 13 مهر 1387, 08:28 صبح
با سلام خدمت دوستان
من در دلفی 7 با کنترل ADO Connection و ADO Table به یک بانک اطلاعاتی متصل شده ام.
می خواهم هر گاه کاربری از یک نقطه دیگر یک رکورد جدید در یک جدول درج کرد، برنامه این
موضوع را تشخیص دهد و مقادیر جدید را روی یک label نشان دهد.
چگونه در برنامه، درج شدن یک رکورد جدید را تشخیص دهم.
با تشکر
Ali_M_K
شنبه 13 مهر 1387, 09:55 صبح
سلام
کد زیر ID آخرین سطر Insert شده را میدهد:
var
LastID: Integer;
// Query: TADOQuery;
// oder
// Query: TQuery;
begin
Query.Active := False;
Query.SQL.Clear;
Query.SQL.Append('INSERT INTO Table (Spalte) VALUES (Value)');
Query.ExecSQL;
LastID := GetLastID(Query);
end;
function GetLastID(var Query: TADOQuery {or TQuery}): Integer;
begin
result := -1;
try
Query.SQL.clear;
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;
smt1383
شنبه 13 مهر 1387, 15:50 عصر
ممنونم. اما منظور من این نبود. من می خواهم هر وقت که که کاربری از هر جایی به دیتابیس وصل شد و یک سط جدید درج کرد برنامه من متوجه شود. نمی دانم که برنامه چگونه باید بفهمد چه زمانی یک رکورد جدید در دیتابیس درج شده است.
SYNDROME
شنبه 13 مهر 1387, 17:53 عصر
ممنونم. اما منظور من این نبود. من می خواهم هر وقت که که کاربری از هر جایی به دیتابیس وصل شد و یک سط جدید درج کرد برنامه من متوجه شود. نمی دانم که برنامه چگونه باید بفهمد چه زمانی یک رکورد جدید در دیتابیس درج شده است.
با استفاده از Notification می توانید چنین عملی را انجام دهید.
کلمه SDAC را در سایت جستجو کنید.
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.