Firebird de ilginc bir kayıt problemi

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
zyildiz
Üye
Mesajlar: 115
Kayıt: 09 Mar 2004 01:22
Konum: Adapazarı

Firebird de ilginc bir kayıt problemi

Mesaj gönderen zyildiz »

Selamunaleykum arkadaslar

Veritabanım Firebird1.5

Kod: Tümünü seç

/******************************************************************************/
/****              Generated by IBExpert 08.04.2005 10:35:54               ****/
/******************************************************************************/
SET NAMES WIN1254;
/******************************************************************************/
/****                                Tables                                ****/
/******************************************************************************/
CREATE TABLE ALTIN (
    SICILNO      INTEGER,
    CINSI        VARCHAR(15),
    DEGERI       DOUBLE PRECISION,
    MIKTARI      FLOAT,
    BIRIMI       VARCHAR(5),
    ACIKLAMA     VARCHAR(50),
    ISLEMTARIHI  DATE,
    PARABIRIMI   VARCHAR(10)
);
/******************************************************************************/
/****                              Privileges                              ****/
/******************************************************************************/
DLL'i yukarıda bulunan tabloma excel den veriler attım.
Problem su: Değiştirmek istediğim bazı kayıtları degiştiremiyorum.

Ibexpert tarafında ki davranışı
Bazı kayıtlarda problemsiz istediğim değişikliği yapabiliyorum.
bazılarında ise

Kod: Tümünü seç

Incompatible column/host variable data type.
Dynamic SQL Error.
SQL Error code = - 330.
conversion error from string "31-DEC-1899".
hatası alıyorum ve işlem yapamıyorum.
Delphi tarafından deneyince değişiklik yapıldı gorunuyor ama commit ettikten sonra tekrar bakınca yapılan değişikliğin gerçekleşmediği goruluyor.

Yeni Kayıt eklemede ve bu yeni kayıtları değiştirmede problem yok.

Neden böyle davranıyor ve nasıl duzeltilir.
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Böyle bişey benim başıma da gelmişti.
update yapan bir SP kullanıyordum ve SP'nin sonuna bi suspend eklemiştim. Ekleyince bu problem başladı. Kaldırdım düzeldi.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Sanırım bazı akayıtların tarih alanlarını kontrol etmen lazım. 1899 yıllı kayıtlar olanın null olduğunu veya geçerli bir tarih olmadığını gösteriyor :?:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
heskin35
Üye
Mesajlar: 132
Kayıt: 30 Haz 2004 09:48

Mesaj gönderen heskin35 »

Sanırım delphi ve firebird arasındaki tarih format ile ilgili bir uyumsuzluk söz konusu.
Firebirdde tarih formatını date şeklinde vermişsiniz. İnterbase de ise timestamp olarak kullanıyorum. Gerçi firebird ile ilgili bir tecrübem olmadı ama bir de timestamp olarak deneyebilirseniz.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Problem Delphi tarafında ise ibx bileşenlerini güncellemeni tafsiye ederim.

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.
zyildiz
Üye
Mesajlar: 115
Kayıt: 09 Mar 2004 01:22
Konum: Adapazarı

Mesaj gönderen zyildiz »

Hdayı demişki

Kod: Tümünü seç

update yapan bir SP kullanıyordum ve SP'nin sonuna bi suspend eklemiştim. Ekleyince bu problem başladı. Kaldırdım düzeldi.
Bende sp ile insert etmiştim, suspend de vardı. Tablonun içindeki bilgileri sildim. yeni bir sp yazdım. suspendi kaldırdım. tekrar kaydettim. daha önce değiştiremediğim alanların bir kısmını degiştirebildim. Ama sorun tamamıyle cözülmedi.

Recep abi tarih alanınıda 01.01.2000 diye update etmiştim.Yani tarih alanları dolu.

tarih formatını da cumadan sonra deneyecegim
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

bu problem benim başıma geldiğinde ben de sormuştum, o zaman @mege tarih formatı ile ilgili bişey söylemişti.viewtopic.php?t=7217

mege yazdı:

Kod: Tümünü seç

ShortDateFormat := 'dd/mm/yyyy';
DateSeparator := '-';
LongTimeFormat := 'HH:mm:ss';
TimeSeparator := ':';
programın açılışında bu ayarları veritabanınıza göre ayarlasanız?

bendede olmuştu benzer problem bde de. bu şekilde düzelltmişitm.
(Allah kabul etsin...)
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

sorun tarih formatı yüzünden kaynaklanıyor. çok eskiden bende karşılaşmıştım. sanırım FB şu windows un bölgesel ayarlarındaki ingiliz standrtındaki gibi bir formatı destekliyor. yıllar önce karşıma çıkan sorun böyleydi. Delphi tarafından gönderirkende herzaman söylediğim gibi string olarak değilde ".AsDateTime :=" şeklinde bilgi gönderin önerisinde bulunuyorum

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 !!!
Cevapla