1、 DataView,DataSet,DataTable之間的關係
DataView是視圖,你可以把DataSet當做是資料庫的一個庫,DataTable是庫裡面的一個表,而DataView則就是視圖,DataTable.DefaultView就是DataTable的預設視圖,內容為它自身。你可以設定不同的過濾條件,得到不同的DataView。
例如:
DataView.RowFilter="name='join'";
這樣就可以過濾出name=join的記錄。
例如:
public ICollection CreateDataSource ()
{
OleDbConnection conn = new OleDbConnection(strCnn);
OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);
DataSet ds = new DataSet();
da.Fill(ds,"mfData");
DataView myView = ds.Tables["mfData"].DefaultView;
return myView;
}
2、利用C # 得到資料庫中的表名(轉)
string strconn = @"User ID=sa;Tag with column collation when possible=False;Data Source=JAVA;Password=123456;Initial Catalog=netsecdb_ether_20;Use Procedure for Prepare=1;Auto Translate=True;Persist Security Info=True;Provider=""SQLOLEDB.1"";Workstation ID=AAA218;Use Encryption for Data=False;Packet Size=4096";
OleDbConnection dataConn = new OleDbConnection(strconn);
dataConn.Open();
DataTable schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//得到全部的表、視圖
DataGrid1.DataSource = schemaTable;
DataGrid1.DataBind();
schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null, null, null, "TABLE"});
//得到全部的使用者表,使用者表類型為Table,進行過慮
DataGrid2.DataSource = schemaTable;
DataGrid2.DataBind();
schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null, null, null, "VIEW"});
//得到全部的視圖
DataGrid3.DataSource = schemaTable;
DataGrid3.DataBind();
schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures, null);
//得到全部的預存程序
DataGrid4.DataSource = schemaTable;
DataGrid4.DataBind();
schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Provider_Types, null);
//得到全部支援的資料類型
DataGrid5.DataSource = schemaTable;
DataGrid5.DataBind();
schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, null);
DataGrid6.DataSource = schemaTable;
DataGrid6.DataBind();