tip uyuşmaşlığı

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
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

tip uyuşmaşlığı

Mesaj gönderen AliRiza »

Arkadaşlar forumda dün sorduğum sorunumu hallettim.Sorum mysql'de string olarak tipi tenımlanmış verilerin memo olarak gözükmesi idi.Bunu şu şekilde yaptım.Adotable'in fields'ine table'daki tüm fieldleri ekledim.
String olan fields'in ongettext olayında değerleri atıyorum.Bu şekilde memo alanları dbgridde görebiliyorum.

Kod: Tümünü seç

procedure TForm1.ADOTable1ntnoGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
   
text:=sender.Asstring;
  end;


programın çıkışında databasedeki kayıtları silmem gerekiyor.Veya formda kullanıcı tüm kayıtı silerse  çıkışta aşağıdaki tip hatasını alıyorum.Yeniden başlatınca eğer kayıt boş veya string alanda veri yoksa aynı hatayla karşılaşıyorum..


Project mbcatalog.exe raise exception EDatabase error with message 'Adotable1 Type mismatch for field ntno expecting:string actual memo

Kod: Tümünü seç


Arkadaşlar hata tip uyşmazlığı.Memo tipine çevrim nasıl yaparım..
adotable1ntno.setfieldtype(ftmemo) diye denedim olmadı..
eğer kayıt varsa hiç bir problem yaşamıyorum.Kayıt var memo alanlar boş dediğim hata oluyor.
Acil yardımınızı bekliyorum..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Kullanıcı avatarı
feinpus
Üye
Mesajlar: 214
Kayıt: 17 Kas 2003 04:37
Konum: İstanbul
İletişim:

Mesaj gönderen feinpus »

bende denedim şimdi AdoTable daki memo alanının BlobType bölümünü FtMemo dan farklı olursa tip uyuşmazlığı hatası veriyor. Bu alanı FtMemo olarak bırakırsan sanırım hata vermez. Eğer senin sorunun oradaysa ben bahsettiğin hatayı oradan verdirebildim.

Birde;

Kod: Tümünü seç

procedure TForm1.ADOTable1ntnoGetText(Sender: TField; var Text: String; 
  DisplayText: Boolean); 
begin 
    
text:=sender.Asstring; 
  end; 
Şeklinde memo alan görüntülenebilir ama değişiklik yapılamıyor...
Oldeye Software
http://www.oldeye.com
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

feinpus kardeş

Mesaj gönderen AliRiza »

feinpus kardeş yardımın için teşekkür ederim ama benim yaptımlarımı tam olarak dene.
Eğer database'de hiç kayıt yoksa ftmemo tanımlama okey...
Bu durumda hiç bir hata vermiyor.

Database'de kayıt varsa zaten fields editörde add fields dediğinde tüm alanları ekleyip tipini kendi alıyor..
Kayıt varken denedim.New fields dedim.(Kendi eklediklerini sildim)
Oradan tip olarak ftmemo yaptım..

Bu durumda da aşağıdaki hatayı alıyorum..

Kod: Tümünü seç

Project mbcatalog.exe raise exception EDatabase error with message 'Adotable1 Type mismatch for field ntno expecting:memo actual string;
Yani diğer hatanın tam tersi durum..
Benim problem kayıt olmadığında yani tabloyu tamamen boşaltınca ik birinci konuda bahsettiğim hatanın gelmesi..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Cevapla