IBDataSet InsertSQL
IBDataSet InsertSQL
Merhaba.
IBDataSet in InsertSQL, UpdateSQL ve DeleteSQL sorgularindan hangisini kullanacagini nasil belirleyecegiz?
Helpte QInsert, QDelete gibi seyler var ama Delphi 'Ben bunlari taniyamadim birader' hatasi veriyor.
IBDataSet in InsertSQL, UpdateSQL ve DeleteSQL sorgularindan hangisini kullanacagini nasil belirleyecegiz?
Helpte QInsert, QDelete gibi seyler var ama Delphi 'Ben bunlari taniyamadim birader' hatasi veriyor.
Normal Table işlemleri gibi uygulayabilirsin.
Örnek
IbDataset.Append;
IbDataSet.Edit;
IbDataSet.Insert;
vb....
Kolay Gelsin...
Örnek
IbDataset.Append;
IbDataSet.Edit;
IbDataSet.Insert;
vb....
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Peki bunun kullanimi nasil?
ParamByName ile alanlari tek tek girmek istiyorum.
Yukaridaki sekilde yapinca CARI_AD alani yok diyor.
Ama InsertSQL, 'insert into CARI (CARI_AD) values (:CARI_AD)' seklinde...
Baska bir kullanimi mi var?
FieldByName seklinde kullanmak istemiyorum...
ParamByName ile alanlari tek tek girmek istiyorum.
Kod: Tümünü seç
with IBDataSet1 do
begin
Insert;
ParamByName('CARI_AD').Value := 'TEST' + IntToStr(i);
Post;
....
Ama InsertSQL, 'insert into CARI (CARI_AD) values (:CARI_AD)' seklinde...
Baska bir kullanimi mi var?
FieldByName seklinde kullanmak istemiyorum...
ParamByName die aratırsan bir çok sonuc'a ulaşabilirsin.
Kolay Gelsin...

Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Sanirim yanlis anlasildim.
IBQuery ile ParamByName kullanarak istedigim herseyi yapabiliyorum. Ancak ben IBDataSet kullanmak istiyorum. Madem DataSet'in InsertSQL, UpdateSQL gibi olaylari var IBQuery neden kullanayim diye dusunuyorum. Aslina bakarsaniz cogunlukta StoredProcedure kullanacagim ancak FireBird ogrenmeye yeni basladim ve DataSet in InsertSQL, UpdateSQL olayi ilgincime gitti ve nasil oluyor diye meraklandim.
Grupta ParamByName diye aratinca bildigim seyler cikiyor. IBDataSet ve ParamByName ikilisi ile ilgili birsey bulamadim grupta...
Saygilarimla
IBQuery ile ParamByName kullanarak istedigim herseyi yapabiliyorum. Ancak ben IBDataSet kullanmak istiyorum. Madem DataSet'in InsertSQL, UpdateSQL gibi olaylari var IBQuery neden kullanayim diye dusunuyorum. Aslina bakarsaniz cogunlukta StoredProcedure kullanacagim ancak FireBird ogrenmeye yeni basladim ve DataSet in InsertSQL, UpdateSQL olayi ilgincime gitti ve nasil oluyor diye meraklandim.
Grupta ParamByName diye aratinca bildigim seyler cikiyor. IBDataSet ve ParamByName ikilisi ile ilgili birsey bulamadim grupta...
Saygilarimla
ben IbDataset kullanıyorum ama hic oyle bir olayı (event) yok
ozellik derseniz, InsertSQL,ModifySQL,DeleteSQL ve RefreshSQL özellikleri var
ayrıca SelectSQL ile hangi tabloda hangi alanları sececeginizi yazıyorsunuz
aslında IbDataset , IbQuery ile IbUpdateSQL in birlestirilmis hali
Params diye ObjectInspectorde bir ozellik goremeseniz de aslında ParamByName ve Params ozellikleri mevcuttur.
IbDataset ayarlarını yaptıktan sonra klasik table dan hicbir farkı kalmamakta.
table komutları (First,Next,...,Edit,Insert,Post,Delete) kullanarak kayıt işlemleri yapabilirsiniz.
ozellik derseniz, InsertSQL,ModifySQL,DeleteSQL ve RefreshSQL özellikleri var
ayrıca SelectSQL ile hangi tabloda hangi alanları sececeginizi yazıyorsunuz
aslında IbDataset , IbQuery ile IbUpdateSQL in birlestirilmis hali
Params diye ObjectInspectorde bir ozellik goremeseniz de aslında ParamByName ve Params ozellikleri mevcuttur.
IbDataset ayarlarını yaptıktan sonra klasik table dan hicbir farkı kalmamakta.
table komutları (First,Next,...,Edit,Insert,Post,Delete) kullanarak kayıt işlemleri yapabilirsiniz.
ÜŞENME,ERTELEME,VAZGEÇME
Tesekkurler.
Olaylari var derken eventlerden bahsetmedim. Ozellikleri var demek istemistim. Bu ozellikler varsa nasil kullanacagimi ariyorum. Insert, Post falan kullanabilirim dogru ama bunlari ParamByName kullanarak yapabilir miyim? (bkz. 2. mesajim)
Sanirim mumkun degil. FieldByName kullanmak zorundayim. Ya da IBQuery kullanacagim.
Asagidaki sekilde birsey yaparim olur herhalde.
Daha oncede yazdigim gibi FireBird i ogrenmeye calisiyorum ve kafama takilan bir konuydu bu. Cokta onemli birsey degil yani
Tekrar tesekkurler...[/code]
Olaylari var derken eventlerden bahsetmedim. Ozellikleri var demek istemistim. Bu ozellikler varsa nasil kullanacagimi ariyorum. Insert, Post falan kullanabilirim dogru ama bunlari ParamByName kullanarak yapabilir miyim? (bkz. 2. mesajim)
Sanirim mumkun degil. FieldByName kullanmak zorundayim. Ya da IBQuery kullanacagim.
Asagidaki sekilde birsey yaparim olur herhalde.
Kod: Tümünü seç
IBQuery.SQL := IBDataSet.InsertSQL;
IBQuery.ParamByName.....
Daha oncede yazdigim gibi FireBird i ogrenmeye calisiyorum ve kafama takilan bir konuydu bu. Cokta onemli birsey degil yani

Tekrar tesekkurler...[/code]
Ya ben bunlari degistirmek istemiyorum.
Degistirmek istedigim fikrini nerden cikardiniz merak ettim.
Ben bu InsertSQL sorgusunu kullanarak nasil kayit ekleyecegimi merak ediyorum sadece.
ExecSQL dedigimde hangi sorguyu kullanacak. Update, Delete, Insert ???
Ilk mesajimda bunu sormusum zaten.
Olay iyice koptu.
Mesajlarimi tekrar okursaniz memnun olacagim. Kusura bakmayin...
Degistirmek istedigim fikrini nerden cikardiniz merak ettim.
Ben bu InsertSQL sorgusunu kullanarak nasil kayit ekleyecegimi merak ediyorum sadece.
ExecSQL dedigimde hangi sorguyu kullanacak. Update, Delete, Insert ???
Ilk mesajimda bunu sormusum zaten.
Olay iyice koptu.
Mesajlarimi tekrar okursaniz memnun olacagim. Kusura bakmayin...
kayıt girisini bir tablo gibi kullanman gerekiyor, yani
Insert;
tablo.FieldByName('dsdsds').Asxxxx:=deger;
Post;
o InsertSQL sorgusundaki parametreleri dahili olarak bilesen kullanıyor.
yazdıgın kodlar parametreler vasıtasıyla sql cumlesine cevriliyor,
cunku sqlserver baska bir dilden anlamıyor.
Insert;
tablo.FieldByName('dsdsds').Asxxxx:=deger;
Post;
o InsertSQL sorgusundaki parametreleri dahili olarak bilesen kullanıyor.
yazdıgın kodlar parametreler vasıtasıyla sql cumlesine cevriliyor,
cunku sqlserver baska bir dilden anlamıyor.
ÜŞENME,ERTELEME,VAZGEÇME
Ya onlar dataset ayarları onların ayarlanması yapacağın IbDataset1.Edit, Ibdataset1.Append, IbdataSet1.Delete vb... gibi işlemlerin yapılmasını sağlar.
Bakınız ilk mesajım.
Bakınız ilk mesajım.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
@iason
sanırım siz FIBPLUS kullanıyorsunuz.
Sorunuzu yanlış anlamadıysam şu şekilde:
Örneğin bir qupdate kullanıyorsanız, ustamın da dediği gibi generatesql yaptıktan sonra where parametresini kendiniz gireceksiniz. daha sonra
dataset1.qupdate.parambyname('detay'):='elma';
veya
dataset1.qupdate.setpaparamvalue(2,'elma'); (buradaki 2 rakamı query deki parametre sıra numarası ve sıra sıfırla başlar).
deyip,
dataset1.qupdate.execquery;
yani qupdate yerine qinsert query'sine de parametre değerleri gönderip o query yi çalıştırabilirsiniz.
Şahsen bu şekilde kullanıyorum.
sanırım siz FIBPLUS kullanıyorsunuz.
Sorunuzu yanlış anlamadıysam şu şekilde:
Örneğin bir qupdate kullanıyorsanız, ustamın da dediği gibi generatesql yaptıktan sonra where parametresini kendiniz gireceksiniz. daha sonra
dataset1.qupdate.parambyname('detay'):='elma';
veya
dataset1.qupdate.setpaparamvalue(2,'elma'); (buradaki 2 rakamı query deki parametre sıra numarası ve sıra sıfırla başlar).
deyip,
dataset1.qupdate.execquery;
yani qupdate yerine qinsert query'sine de parametre değerleri gönderip o query yi çalıştırabilirsiniz.
Şahsen bu şekilde kullanıyorum.
Datasetin bu tür komutlarını kullanmayacaksınız. Siz Datasete diyelim
Dataset1.Insert komutu gönderip post ettiğinizde Datasetin InsertSQL de yazılı olan kodu otomatik devreye girecektir. Yine Database1. Edit gönderip post ettiğinizde UpdateSQL de yazılı olan kod devreye girecek ve kaydı yapacaktır. Kısacası siz insert, edit gibi işlemlerden post gönderdiğinizde dataset gerekli SQL kodlarını yazılı olduğu yerden okuyup güncelleyecek ve veritabanına yazacaktır. Bu kodları kullanmayacaksınız sadece table da çalışır gibi normal database işlem kodlarını göndereceksiniz datasete ....
Sevgiler...
Dataset1.Insert komutu gönderip post ettiğinizde Datasetin InsertSQL de yazılı olan kodu otomatik devreye girecektir. Yine Database1. Edit gönderip post ettiğinizde UpdateSQL de yazılı olan kod devreye girecek ve kaydı yapacaktır. Kısacası siz insert, edit gibi işlemlerden post gönderdiğinizde dataset gerekli SQL kodlarını yazılı olduğu yerden okuyup güncelleyecek ve veritabanına yazacaktır. Bu kodları kullanmayacaksınız sadece table da çalışır gibi normal database işlem kodlarını göndereceksiniz datasete ....
Sevgiler...
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz