Generator ve SQL

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
aydin038
Üye
Mesajlar: 75
Kayıt: 08 Eki 2003 05:58

Generator ve SQL

Mesaj gönderen aydin038 »

merhabalar. herkese kolay gelsin.

interbase geceli fazla olmadi genel mantigi. ibx. bilesenleri falan derken sizlerin sayesinde baya yol katettim.
interbase'i taniyinca paradox, dbase, access falan bos gelmeye basladi.

sizlerin yardimina ihtiyacim var..

Kod: Tümünü seç

dm.IBdataset1.Close;
dm.IBdataset1.UnPrepare;
dm.IBdataset1.SelectSQL.Clear;;
dm.IBdataset1.SelectSQL.Add('INSERT INTO TABLE(AD,SOY)');
dm.IBdataset1.SelectSQL.Add('VALUES(:AD,:SOY)');
dm.IBdataset1.Prepare;
dm.IBdataset1.Params[0].AsString:=Edit1.Text;
dm.IBdataset1.Params[1].AsString:=Edit2.Text;
dm.IBdataset1.ExecSQL;
bu sekilde IBdataset ile kayit ekliyorum.
fakat ID isminde bir de generatorum var. ama bir turlu SQL ile bunu ekleyemedim. normal "insert-post" isleminde generator calisip +1 sayi artiyor. procedures de kullandim yine olmadi.

not:daha onceki benzer mesajlari inceledim. fakat istedigimi bulumadim.

simdiden tesekkur eder saygilarimi sunarim.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

ibDataset in Generator field alanını kullanabilirsin ama bence sen ibdataset bileşenini yanlış kullanıyorsun.

selectsql ifadesinde insert into ifadesi yazmışsın.
ibdatasete sağ tuşla tıkla açılan editörden primary key alanları ve güncellenmesini istediğin alanları seçip generate sql düğmesine tıkla.

daha fazla bilgiye makaleler bölümünden ulaşabilirsini.

sql cümlesinde

INSERT INTO TABLE(ID,AD,SOY)
VALUES(GEN_ID(Generator_Adi,1),:AD,:SOY)

şeklinde yapabilrsin.
Kullanıcı avatarı
aydin038
Üye
Mesajlar: 75
Kayıt: 08 Eki 2003 05:58

Mesaj gönderen aydin038 »

selam..

oncelikle cevabin icin tesekkurler..

datasetin generatorfield ozelligini dedigin gibi daha once kullandim.
normal Navigator ile sayi artiyor. ama SQL de yapamadim. makaleler kismini defalarda okudum. cozume ulasamadim.

dm.IBdataset1.insertSQL.Add('INSERT INTO NEW_TABLE(ID,AD,SOY)');
dm.IBdataset1.insertSQL.Add('VALUES(GEN_ID(GEN_NEW_TABLE_ID,1),:AD,:SOY)');

dm.IBdataset1.Prepare;

dm.IBdataset1.Params[0]............................> bu alanda birsey atliyorum.. herhalde
dm.IBdataset1.Params[1].AsString:=Edit1.Text;
dm.IBdataset1.Params[2].AsString:=Edit2.Text;
dm.IBdataset1.ExecSQL;

tekrar tesekkur eder saygilarimi sunarim.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

IBQuery Kullan IBUpdateSQL kullan ve bunun editörünü açıp insert,update delete SQL lerini kendisi oluşturuyor. Tabiki Primarykey seçmelisin önce.
IBDataset içinde DatabaseEditör den aynı işi yapabiliyorsun. Ama primarykey şart.

Parametrelere de Parambyname ile ulaşırsan hata riskini azaltırsın
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
aydin038
Üye
Mesajlar: 75
Kayıt: 08 Eki 2003 05:58

Mesaj gönderen aydin038 »

Saol hocam tesekkur ederim.

birde soylediginiz gibi deneyeyim.

not: umarim halen kizgin degilsindir.

saygilar.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Pardon, Kızman gerekn bir şeymi vardı :twisted: :P :lol:
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
aydin038
Üye
Mesajlar: 75
Kayıt: 08 Eki 2003 05:58

Mesaj gönderen aydin038 »

oyle diyorsan yoktur canim... :lol:

saygilar..
Kullanıcı avatarı
aydin038
Üye
Mesajlar: 75
Kayıt: 08 Eki 2003 05:58

Mesaj gönderen aydin038 »

tekrar selamlar..

Generator'u yine calistiramadim. yani normal insert post dedigimde calisyor. fakat SQL kullandigim zaman olmuyor.

lutfen yardim..

saygilar...
Kullanıcı avatarı
aydin038
Üye
Mesajlar: 75
Kayıt: 08 Eki 2003 05:58

Mesaj gönderen aydin038 »

selamlar..

procedures ile generatoru calistiramadim. ama Triggers ile generatoru calistirdim.

fakat sair beyin bir yazisinda " Triggers " tavsiye etmiyordu. bu konuda ne dersiniz beni yari yolda birakirmi. ?

tesekkur eder saglik ve esenlikler dilerim..
Cevapla