Delphi.NET WEb Uygulamasında Autoinc nasıl?

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Gold_Lady
Üye
Mesajlar: 142
Kayıt: 03 Nis 2006 08:39
Konum: İş Yerinden :)
İletişim:

Delphi.NET WEb Uygulamasında Autoinc nasıl?

Mesaj gönderen Gold_Lady »

Delphi 2006 ile WEB uygulamaları üzerine deneme yapıyorum.
FBDataadapter, FBCommand ile bağlantı yapıyorum.
Deneme Amaçlı;
ID - PK
Adı - String
Soyadı - String

alanları olan bir tablo oluşturdum. Trigger ile veritabanına :

Kod: Tümünü seç

IF (NEW.id IS NULL) THEN
    NEW.id = GEN_ID(deneme_gen,1);
insert olduğunda otomatik id alanı değer alsın diye triggerde oluşturdum ama olmuyor.
Datasetin autoinc alanlarınıda bu şekilde ayarladım.
Resim
Olmuyor, kayıt butonuna basınca,

Server Error in '/WebApplication6' Application.
--------------------------------------------------------------------------------

violation of PRIMARY or UNIQUE KEY constraint "PK_DENEME" on table "DENEME"
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: FirebirdSql.Data.Firebird.FbException: violation of PRIMARY or UNIQUE KEY constraint "PK_DENEME" on table "DENEME"
şeklinde, id alanına verilen sayının zaten kayıtlı olduğu yönünde bir hata veriyor.

WEB uygulamalarında generatoru nasıl kullanacağız, yardımcı olabilir misiniz?
Gold_Lady
Üye
Mesajlar: 142
Kayıt: 03 Nis 2006 08:39
Konum: İş Yerinden :)
İletişim:

Re: Delphi.NET WEB Uygulamasında Autoinc nasıl?

Mesaj gönderen Gold_Lady »

Bu arada kayıt içinde bu kodu kullanıyorum.

Kod: Tümünü seç

var
newrow:DataRow;
begin;
newRow := dsdeneme.Tables['DENEME'].NewRow();
newRow['ISIM']:= Textbox1.Text;
newRow['SOYAD']:= Textbox2.Text;
newRow['SIKAYET']:= Textbox3.Text;
dsdeneme.Tables['DENEME'].Rows.Add(newRow);
FbDataAdapter1.Update(dsdeneme,'DENEME');
Gold_Lady
Üye
Mesajlar: 142
Kayıt: 03 Nis 2006 08:39
Konum: İş Yerinden :)
İletişim:

Re: Delphi.NET WEb Uygulamasında Autoinc nasıl?

Mesaj gönderen Gold_Lady »

Çözdüm. :)
Veritabanı tarafında pk alanın notnull özelliğini iptal edip, dataset tarafından autoincrement özelliğini kapattım. Autoinc olayını trigger ile yaptırdım.
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Re: Delphi.NET WEb Uygulamasında Autoinc nasıl?

Mesaj gönderen Fatih! »

PK alanı NutNull olmalı. Bu alanı asp.nette tanımlamanıza gerek yok. İllaki tanımlayacaksanız, yukarıdaki resimde görülen AutoIncrement özelliğini false yapmanız yeterli.
Cevapla