日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SqlDataReader.GetSchemaTable

發布時間:2025/7/14 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SqlDataReader.GetSchemaTable 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ado.net 獲取數據庫元數據信息

最近一直和元數據打交道

SqlDataReader.GetSchemaTable 方法

一定要創建一個可用的reader。。

不要通過datatable.createreader.getshematable---這樣獲取出來的信息是不完全的。

簡單copy了一下msdn的東西,做一個記錄

DataReader

說明

ColumnName

列的名稱;它可能不唯一。如果無法確定該名稱,則返回空值。此名稱始終反映最近對當前視圖或命令文本中的列進行的重命名。

ColumnOrdinal

列的序號。它對于行的書簽列(如果有的話)為零。其他列從一開始編號。該列不能包含空值。

ColumnSize

列中值的最大可能長度。對于采用固定長度數據類型的列,它是該數據類型的大小。對于存儲在 SQL Server 數據庫中的?nvarchar(MAX)varchar(MAX)?和varbinary(MAX)?列,最大大小為 2GB。如果這些列以文件形式存儲并訪問,則對最大大小的限制由文件系統設定。在連接字符串中使用?Type System Version?關鍵字時,該值會更改。對于新的類型,它們表示為下層類型。對于?nvarchar?,MAX 數據類型返回正常的 4k,而對于?varchar,則為 8000。有關更多信息,請參見"SQL Server 聯機叢書"中的"Transact-SQL 參考"。

NumericPrecision

如果?ProviderType?是數值數據類型,則它是列的最大精度。精度取決于列的定義。如果?ProviderType?不是數值數據類型,則它為空值。

NumericScale

如果?ProviderType?是 DBTYPE_DECIMAL 或 DBTYPE_NUMERIC,則為小數點右側的位數。否則,它為空值。

IsUnique

只有對于?timestamp?列才為?true,而對于其他所有列,為?false

IsKey

true:此列是行集合中合起來可唯一地標識該行的一組列中的一列。IsKey?設置為true?的一組列必須唯一地標識行集合中的一行。不要求此列集是最小列集。這組列可以從基表主鍵、唯一約束或唯一索引生成。

false:唯一地標識該行時不需要此列。

BaseServerName

SqlDataReader?使用的 Microsoft SQL Server 實例的名稱。

BaseCatalogName

包含列的數據存儲區中的目錄的名稱。如果不能確定基目錄名稱,則為 NULL。該列的默認值為空值。

BaseColumnName

數據存儲區中列的名稱。如果使用別名,它可能不同于在 ColumnName 列中返回的列名稱。如果無法確定基列名稱,或者如果行集合列從數據存儲區中的列導出但不等于該列,則為空值。該列的默認值為空值。

BaseSchemaName

包含列的數據存儲區中的架構的名稱。如果無法確定基架構名稱,則為空值。該列的默認值為空值。

BaseTableName

包含列的數據存儲區中的表或視圖的名稱。如果無法確定基表名稱,則為空值。該列的默認值為空值。

DataType

映射到列的 .NET Framework 類型。

AllowDBNull

如果使用者可以將該列設置為空值,或者如果提供程序不能確定使用者是否可以將該列設置為空值,則設置該值。否則,不設置該值。即使列無法設置為空值,它仍可能包含空值。

ProviderType

列的數據類型的指示符。如果不同行的列數據類型不同,則它必須為 Object。該列不能包含空值。

IsAliased

如果列名稱為別名,則為?true;否則為?false

IsExpression

如果此列為表達式,則為?true;否則為?false

IsIdentity

如果此列為標識列,則為?true;否則為?false

IsAutoIncrement

true:該列以固定的增量向新行賦值。

false:該列不以固定的增量向新行賦值。該列的默認值為?false

IsRowVersion

如果列包含無法寫入的不變的行標識符,并且除了標識行外沒有其他有意義的值,則設置該值。

IsHidden

如果列是隱藏的,則為?true;否則為?false

IsLong

如果列包含二進制長對象 (BLOB)(它包含非常長的數據),則設置該值。非常長的數據的定義針對于提供程序。

IsReadOnly

如果不能修改該列,則為?true;否則為?false

ProviderSpecificDataType

根據連接字符串中的?Type System Version?關鍵字,返回列的提供程序特定的數據類型。

DataTypeName

返回表示指定列的數據類型的字符串。

XmlSchemaCollectionDataBase

此 XML 實例的架構集合所在的數據庫的名稱(如果該行包含有關 XML 列的信息)。如果在當前數據庫中定義了該集合,則此值為 空引用(在 Visual Basic 中為 Nothing)(在 Visual Basic 中為?Nothing)。如果沒有架構集合,則它也為空,這時?XmlSchemaCollectionName?和XmlSchemaCollectionOwningSchema?列也為空。

XmlSchemaCollectionOwningSchema

此 XML 實例的架構集合所在的所屬關系架構(如果該行包含有關 XML 列的信息)。如果在當前數據庫中定義了該集合,則此值為 空引用(在 Visual Basic 中為 Nothing)(在 Visual Basic 中為?Nothing)。如果沒有架構集合,則它也為空,這時?XmlSchemaCollectionDatabase?和?XmlSchemaCollectionName?列也為空。

XmlSchemaCollectionName

此 XML 實例的架構集合的名稱(如果該行包含有關 XML 列的信息)。如果沒有關聯的架構集合,則此值為 空引用(在 Visual Basic 中為 Nothing)(在 Visual Basic 中為?Nothing)。如果此值為空,則?XmlSchemaCollectionDatabase?和XmlSchemaCollectionOwningSchema?列也為空。

轉載于:https://www.cnblogs.com/jianglai11/archive/2010/07/23/1783874.html

總結

以上是生活随笔為你收集整理的SqlDataReader.GetSchemaTable的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。