Yorumları: 123
Konuları: 51
Kayıt Tarihi: 07-11-2016
Rep Puanı: 66
Başlangıç
11-12-2017, Saat: 13:05
(Son Düzenleme: 11-12-2017, Saat: 13:05, Düzenleyen: Dostk.)
Merhaba; Aşağıdaki kodlarla databasedeki en son kaydedilen id numarasını alabiliyorum, ancak databaseye hiç kayıt yapılmamışsa hata veriyor bu durumu nasıl çözebilirim?
Close;
SQL.Clear;
SQL.Add('Select MAX(PLID) AS PLID From SIRAPIS');
Prepared := True;
Open;
SonId := FieldByName('PLID').AsInteger + 1;
Hayat bazen güzel olabiliyor.
Yorumları: 953
Konuları: 124
Kayıt Tarihi: 06-07-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 6.383
Üstad
Bonus: Eğer Pascal tarafında işlem yapılacaksa RecordCount kontrolü sağlanabilir.
Yorumları: 1.516
Konuları: 83
Kayıt Tarihi: 20-03-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Delphi 10.2
- Delphi 7
- Lazarus / FPC
Rep Puanı: 4.275
Uzman
open dan sonra recordcount>0 kontrolü yaparsanız sorun çözülür..
Yorumları: 123
Konuları: 51
Kayıt Tarihi: 07-11-2016
Rep Puanı: 66
Başlangıç
Cevaplar için teşekkürler,
bir çok kodu test ettim (coalesce) şimdilik sorun çıkmadı
Hayat bazen güzel olabiliyor.
Yorumları: 850
Konuları: 149
Kayıt Tarihi: 07-12-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.177
Uzman
12-12-2017, Saat: 18:54
(Son Düzenleme: 12-12-2017, Saat: 19:39, Düzenleyen: Fesih ARSLAN.)
create Function [dbo].[fnx_Get_MaxID] ()
Returns int As
Begin
Declare @SonNo int
Select @SonNo = Max(ID) From Satis
If @SonNo = 0 Or @SonNo Is Null
Set @SonNo = 1
Else
Set @SonNo = @SonNo + 1
Return @SonNo
End
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz.
Yorumları: 59
Konuları: 27
Kayıt Tarihi: 03-02-2017
Rep Puanı: 59
Başlangıç
Bence gözden kaçan mantık hatası var, dbye yeni bir kayıt ekledin sonra bu kayıtı sildin, bu kodlarda en son idnin numarasını alabilirsin.
dbye yeni bir kayıt eklesen bile asla silinen idnin numarası verilmeyeceğinden paylaşılan bu kodlarla bir sonraki idnin numarasını hiç bir zaman doğruyu göstermez.