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();