C#信息架構(gòu)視圖
C#語言還是比較常見的東西,這里我們主要介紹C#信息架構(gòu)視圖,包括介紹獲得當(dāng)前數(shù)據(jù)庫的所有表等方面。
C#信息架構(gòu)視圖
C#信息架構(gòu)視圖是sql-92 標(biāo)準(zhǔn)中定義的架構(gòu)視圖,這些視圖獨(dú)立于系統(tǒng)表。C#信息架構(gòu)視圖的***優(yōu)點(diǎn)是,即使我們對系統(tǒng)表進(jìn)行了重要的修改,應(yīng)用程序也可以正常地使用這些視圖進(jìn)行訪問。下面的示例使用信息架構(gòu)視圖來工作。
- private void GetTables_INFORMATION_SCHEMA()
- {
- //打開連接
- string strConnectionString=System.Configuration.
ConfigurationSettings.AppSettings["ConnectionString"];- sqlcn=new SqlConnection(strConnectionString);
- sqlcn.Open();
- //使用信息架構(gòu)視圖
- SqlCommand sqlcmd=new SqlCommand
("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.
TABLES WHERE TABLE_TYPE = 'BASE TABLE'",sqlcn);- SqlDataReader dr=sqlcmd.ExecuteReader();
- while(dr.Read())
- {
- MessageBox.Show(dr.GetString(0));
- }
- }
使用系統(tǒng)表
如果您的數(shù)據(jù)庫系統(tǒng)是sqlserver,就可以使用如下的方式來獲得當(dāng)前數(shù)據(jù)庫的所有表:
- private void GetTables_SystemTable()
- {
- //打開連接
- string strConnectionString=System.Configuration.
ConfigurationSettings.AppSettings["ConnectionString"];- sqlcn=new SqlConnection(strConnectionString);
- sqlcn.Open();
- //使用信息架構(gòu)視圖
- SqlCommand sqlcmd=new SqlCommand
("SELECT OBJECT_NAME (id) FROM sysobjects WHERE xtype =
'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0",sqlcn);- SqlDataReader dr=sqlcmd.ExecuteReader();
- while(dr.Read())
- {
- MessageBox.Show(dr.GetString(0));
- }
- }
【編輯推薦】