SQL Server Alan tip numaraları

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

SQL Server Alan tip numaraları

Mesaj gönderen ender_arslanturk »

Forumda biraz aratmama rağmen istediğim sonuçları alamadım. Neyse :D

Kod: Tümünü seç

If Variant(AdoQuery1.Fields[I].DataType)='1' Then 
Tip.Caption:='VarChar';
Yukarıda ki gibi kod kullandığımda birşey dikkatimi çekti. Her alan tipinin numarası olmasına rağmen bazı alan tiplerinin numarası ortak olduğunu gördüm.

Mesela;

Alan tipi decimal , money , numeric ..... gibi olanların data tip numarası 8 dir.

Alanın gerçekte decimal mi money mi numeric mi olduğunuz nasıl anlayabiliriz ?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

ADOQuery1.Fields.ClassName

ile alabilirsin. Sana TIntegerField, TBooleanField...gibi tipleri hakkında bilgi verecektir.

Kolay gelsin.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Veritabanındaki bazı veri tipleri her ne kadar farklı da olsalar Delphi tarafına aynı tip olarak mesela TFloatField olarak dönüyorlar.

Bunun nedeni TFloatField'in hepsini kapsıyabiliyor olması veyahut Delphi'nin sınırları.

Sonuçta bu şekilde dönüyor.

Ama illa alanların veritabanındaki tiplerini bilmek gerekiyorsa MS-SQL'in sistem tablolarından bunlara ulaşabilirsiniz. Veya tablonun ve alanlarının Schema bilgisinden ulaşabilirsiniz.
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Muhtemel delphi sınırları olsa gerek. Mustafa hocamın da belirttiği gibi sınıfları alabiliyoruz. Fakat bu sefer dönen sonuçları yine aynı. :(

Bu sadece gördüğüm kadarı ile iki sınıf için aynı olsa gerek.
Cevapla