C #基础

 

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值