XSQLDA index out of range ve Field not found.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
Merhaba,cihan yazdı:
ibdataset in
select, insert,modify,delete ve refresh SQL lerini yazarsan bir bakalım
belkide insertden kaynaklanmıyordur.
Şimdi DENEME isminde bir tablo var.
IDNO INTEGER+Primary Key+Autoincrement
ADI VarChar(20)
SOYADI VarChar(20)
TELEFON VarChar(15)
Datamodule Name=Veri
Veri'de 1 IBDatabase,1 IBTransaction,1IBDataset var.Bağlantılar tamam.
IBDataSet'in
SelectSQL'i
Kod: Tümünü seç
select * from DENEME
Kod: Tümünü seç
insert into DENEME
(IDNO, ADI, SOYADI, TELEFON)
values
(:IDNO, :ADI, :SOYADI, :TELEFON)
Kod: Tümünü seç
update DENEME
set
IDNO = :IDNO,
ADI = :ADI,
SOYADI = :SOYADI,
TELEFON = :TELEFON
where
IDNO = :OLD_IDNO
Kod: Tümünü seç
Select
IDNO,
ADI,
SOYADI,
TELEFON
from DENEME
where
IDNO = :IDNO
Kod: Tümünü seç
delete from DENEME
where
IDNO = :OLD_IDNO
Button1Click
Kod: Tümünü seç
With Veri.IBDataSet1 do
begin
InsertSQL.Clear;
Prepare ;
InsertSQL.Add('Insert Into DENEME');
InsertSQL.Add( '(ADI, SOYADI, TELEFON)' );
InsertSQL.Add(' values(:ADI, :SOYADI, :TELEFON ) ');
ParamByName('ADI').AsString := Edit1.Text;
ParamByName('SOYADI').AsString := Edit2.Text;
ParamByName('TELEFON').AsString := Edit3.Text;
UnPrepare;
ExecSQL;
end;
alttaki kısımda ADI başta olduğu için verdiği hata 'Field ADI not found'.Başa SOYADI'nı alsam bu seferde 'Field SOYADI not found' diye hata veriyor.
Kod: Tümünü seç
ParamByName('ADI').AsString := Edit1.Text;
ParamByName('SOYADI').AsString := Edit2.Text;
ParamByName('TELEFON').AsString := Edit3.Text;
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
ahirette nasıl olsa aklın başına gelecek.
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
s.a.
ibdataset o şekilde kullanılmazki.
ibdataseti normal bir table gibi kullanmalısın.
kod şöyle olmalı.
ibdatsetin sqllerini ayarladığınız zaman normal table gibi kullanırsınız.
kolay gelsin.
ibdataset o şekilde kullanılmazki.
ibdataseti normal bir table gibi kullanmalısın.
kod şöyle olmalı.
Kod: Tümünü seç
With Veri.IBDataSet1 do
begin
insert;
fieldbyname('ADI').asstring:=XXXX;
fieldbyname('XXXX').asstrign:=XXXX;
post;
end;
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
a.s.
aslangeri teşekkür ederim.Dediğin gibiymiş.Şimdi oldu.
Fakat burada IDNO alanını nasıl otomatik artırıcam.Bunun için delphi tarafında yapmam gereken birşey var mı?FireBird'de IDNO alanını oluştururken primary key ve autoincrement kutucuklarını işaretlemiştim.
Tekrar teşekkürler.
aslangeri teşekkür ederim.Dediğin gibiymiş.Şimdi oldu.
Fakat burada IDNO alanını nasıl otomatik artırıcam.Bunun için delphi tarafında yapmam gereken birşey var mı?FireBird'de IDNO alanını oluştururken primary key ve autoincrement kutucuklarını işaretlemiştim.
Tekrar teşekkürler.
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
ahirette nasıl olsa aklın başına gelecek.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
Datasetin GanaratorField property si bu iş içindir. buradaki bilgileri doldurman gerekli..
Generator Name
Oto Artacak Field
Artış zamanı (newrecord, beforepost, server)
newrecord kayıt append veya insert olduğunda hemen belirir.
beforepost kaydedilmeden hemen önce belirir
server ise oto verir. server e bırakırsan artış değerini refresh yapmadan göremezsin.
Kolay Gelsin...
Generator Name
Oto Artacak Field
Artış zamanı (newrecord, beforepost, server)
newrecord kayıt append veya insert olduğunda hemen belirir.
beforepost kaydedilmeden hemen önce belirir
server ise oto verir. server e bırakırsan artış değerini refresh yapmadan göremezsin.
Kolay Gelsin...
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
s.a.
eğer generator field kullanacaksanız insert sql de id parametresinide geçmeniz lazım. aksi halde generator çifter çifter artacaktır.
ID parametresini geçmediğiniz için trigerda id alanı null görünecek ve yeniden generatorden değer alacaktır.
kolay gelsin.
eğer generator field kullanacaksanız insert sql de id parametresinide geçmeniz lazım. aksi halde generator çifter çifter artacaktır.
ID parametresini geçmediğiniz için trigerda id alanı null görünecek ve yeniden generatorden değer alacaktır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim