Share via


Parametre ve satır kümesi meta veri

Bu konu aşağıdaki türü ve tipi üyeler, ilgili ole db Tarih ve saat geliştirmeleri hakkında bilgi sağlar.

  • DBBINDING yapısı

  • ICommandWithParameters::GetParameterInfo

  • ICommandWithParameters::SetParameterInfo

  • IColumnsRowset::GetColumnsRowset

  • IColumnsInfo::GetColumnInfo

ICommandWithParameters::GetParameterInfo

Aşağıdaki bilgiler aracılığıyla DBPARAMINFO yapısı döndürülür prgParamInfo:

Parametre türü

wType

ulParamSize

bPrecision

bScale

dwFlags

DWFLAGS

tarihi

DBTYPE_DBDATE

6

10

0

Açık

Saat

DBTYPE_DBTIME2

10

8, 10..16

0..7

Ayarla

smalldatetime

DBTYPE_DBTIMESTAMP

16

16

0

Açık

datetime

DBTYPE_DBTIMESTAMP

16

23

3

Açık

datetime2

DBTYPE_DBTIMESTAMP

16

19,21..27

0..7

Ayarla

datetimeoffset

DBTYPE_DBTIMESTAMPOFFSET

20

26,28..34

0..7

Ayarla

Bazı durumlarda değer aralıkları sürekli değildir dikkat edin. Bir ondalık için ek kesirli duyarlık sıfırdan büyük durumdur.

DwFlags yalnızca bağlandığında geçerli bir SQL Server 2008(veya üstü) sunucu. DwFlags asla alt düzey sunuculara bağlı olduğunda ayarlanır.

ICommandWithParameters::SetParameterInfo ve örtülü parametre türleri

DBPARAMBINDINFO yapısı içinde sağlanan bilgiler aşağıdaki uymalıdır:

pwszDataSourceType

(sağlayıcı belirli)

pwszDataSourceType

(ole db genel)

ulParamSize

bScale

 

DBTYPE_DATE

6

Göz ardı

tarihi

DBTYPE_DBDATE

6

Göz ardı

 

DBTYPE_DBTIME

10

Göz ardı

Saat

DBTYPE_DBTIME2

10

0..7

smalldatetime

 

16

Göz ardı

datetime

 

16

Göz ardı

datetime2 veya dbtype_dbtımestamp

DBTYPE_DBTIMESTAMP

16

0..7

datetimeoffset

DBTYPE_DBTIMESTAMPOFFSET

20

0..7

bPrecisionParametre yoksayılır.

"DBPARAMFLAGS_SS_ISVARIABLESCALE" verileri sunucuya gönderirken sayılır. Uygulamalar sağlayıcıya özgü türü adları kullanarak eski sekmeli veri akışı (tds) türlerinin kullanımını zorlamak "datetime'' ve "smalldatetime". Bağlandığında SQL Server 2008(veya üstü) sunucuları, "datetime2"biçimi kullanılır ve bir örtülü sunucu dönüştürme, gerekirse, tür adı olduğunda ortaya çıkar"datetime2'' ya da "Dbtype_dbtımestamp". bScalesağlayıcıya özel adlarını yazın sayılır "datetime'' ya da "smalldatetime'' kullanılır. Aksi takdirde, prosesi sağlamak gerekir bScaledoğru. mdac yükseltilen uygulamaları ve SQL ServerYerel istemci SQL Server 2005"Dbtype_dbtımestamp" kullanmak Onlar ayarlı başarısız olur bScaledoğru. Sunucu örnekleri için bağlanıldığında daha önce SQL Server 2008, bir bScaledeğeri 0 veya 3 ile "Dbtype_dbtımestamp" dışında bir hata olduğunu ve E_FAIL iade edilecektir.

Ne zaman ICommandWithParameters::SetParameterInfo, belirtilen bağlama türü sağlayıcı imples sunucu yazın olarak değil IAccessor::CreateAccessorgibi:

Bağlama türü

pwszDataSourceType

(sağlayıcı belirli)

DBTYPE_DATE

datetime2(0)

DBTYPE_DBDATE

tarihi

DBTYPE_DBTIME

Time(0)

DBTYPE_DBTIME2

Time(7)

DBTYPE_DBTIMESTAMP

datetime2(7)

DBTYPE_DBTIMESTAMPOFFSET

datetimeoffset(7))

IColumnsRowset::GetColumnsRowset

IColumnsRowset::GetColumnsRowsetaşağıdaki sütunlar döndürür:

Sütun türü

DBCOLUMN_TYPE

DBCOLUM_COLUMNSIZE

DBCOLUMN_PRECISION

DBCOLUMN_SCALE, DBCOLUMN_DATETIMEPRECISION

DBCOLUMN_FLAGS, DBCOLUMNFLAGS_SS_ISVARIABLESCALE

tarihi

DBTYPE_DBDATE

6

10

0

Açık

Saat

DBTYPE_DBTIME2

10

8, 10..16

0..7

Ayarla

smalldatetime

DBTYPE_DBTIMESTAMP

16

16

0

Açık

datetime

DBTYPE_DBTIMESTAMP

16

23

3

Açık

datetime2

DBTYPE_DBTIMESTAMP

16

19, 21..27

0..7

Ayarla

datetimeoffset

DBTYPE_DBTIMESTAMPOFFSET

20

26, 28..34

0..7

Ayarla

DBCOLUMN_FLAGS, DBCOLUMNFLAGS_ISFIXEDLENGTH her zaman Tarih ve saat türleri için geçerlidir ve aşağıdaki bayraklar her zaman false:

  • DBCOLUMNFLAGS_CACHEDEFERRED

  • DBCOLUMNFLAGS_ISBOOKMARK

  • DBCOLUMNFLAGS_ISCHAPTER

  • DBCOLUMNFLAGS_ISLONG

  • DBCOLUMNFLAGS_ISROWID

  • DBCOLUMNFLAGS_ISROWVER

  • DBCOLUMNFLAGS_MAYDEFER

Kalan bayraklar (DBCOLUMNFLAGS_ISNULLABLE, dbcolumnflags_maybenull, DBCOLUMNFLAGS_WRITE ve DBCOLUMNFLAGS_WRITEUNKNOWN), sütun nasıl tanımlanır ve gerçek sorgu türüne bağlı olarak ayarlanabilir.

Yeni bayrak DBCOLUMNFLAGS_SS_ISVARIABLESCALE dbcolumn_type dbtype_dbtımestamp olduğu sütunlar, sunucu türünü belirlemek için bir uygulama sağlamak için dbcolumn_flags içinde sağlanır. dbcolumn_scale ya da DBCOLUMN_DATETIMEPRECISION sunucu türünü tanımlamak için de kullanılmalıdır.

DBCOLUMNFLAGS_SS_ISVARIABLESCALE sadece bağlandığında geçerli bir SQL Server 2008(veya üstü) sunucu. DBCOLUMNFLAGS_SS_ISVARIABLESCALE, alt düzey sunuculara bağlandığında tanımsızdır.

IColumnsInfo::GetColumnInfo

DBCOLUMNINFO yapısı aşağıdaki bilgileri verir:

Parametre türü

wType

ulColumnSize

bPrecision

bScale

dwFlags

DWFLAGS

tarihi

DBTYPE_DBDATE

6

10

0

Açık

Time(1..7)

DBTYPE_DBTIME2

10

8, 10..16

0..7

Ayarla

smalldatetime

DBTYPE_DBTIMESTAMP

16

16

0

Açık

datetime

DBTYPE_DBTIMESTAMP

16

23

3

Açık

datetime2

DBTYPE_DBTIMESTAMP

16

19, 21..27

0..7

Ayarla

datetimeoffset

DBTYPE_DBTIMESTAMPOFFSET

20

26, 28..34

0..7

Ayarla

De dwFlags, DBCOLUMNFLAGS_ISFIXEDLENGTH her zaman Tarih ve saat türleri için gerçek ve aşağıdaki bayraklar her zaman false:

  • DBCOLUMNFLAGS_CACHEDEFERRED

  • DBCOLUMNFLAGS_ISBOOKMARK

  • DBCOLUMNFLAGS_ISCHAPTER

  • DBCOLUMNFLAGS_ISLONG

  • DBCOLUMNFLAGS_ISROWID

  • DBCOLUMNFLAGS_ISROWVER, MAYDEFER

Kalan bayraklar (DBCOLUMNFLAGS_ISNULLABLE, dbcolumnflags_maybenull, DBCOLUMNFLAGS_WRITE ve DBCOLUMNFLAGS_WRITEUNKNOWN) ayarlanabilir.

DBCOLUMNFLAGS_SS_ISVARIABLESCALE'de sağlanan yeni bayrak dwFlagssütunlar, sunucu türünü belirlemek için bir uygulama sağlamak için nerede wTypedbtype_dbtımestamp olur. bScaleAyrıca sunucu türünü tanımlamak için kullanılmalıdır.

Ayrıca bkz.

Kavramlar

Meta veri (ole db)