ADO.NET中DbConnection.GetSchema方法的使用总结
此方法获取数据库的结构,所以可以用它获取数据库中所有的表
先上代码
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=Yldb666;Data Source=" + @"test.mdb;";
conn = new OleDbConnection(connectionString);
conn.Open();
System.Data.DataTable schema = conn.GetSchema();
this.dataGridView1.DataSource = schema;
conn.Close();
conn.Dispose();
结果如下图:
下一步:获取所有的表
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=Yldb666;Data Source=" + @"Yldb.mdb;";
conn = new OleDbConnection(connectionString);
conn.Open();
System.Data.DataTable schema = conn.GetSchema("Tables");
this.dataGridView1.DataSource = schema;
conn.Close();
conn.Dispose();
结果如下图:
此时已经获取到了所有的表,那么一般我们在实际开发中,只需要自己创建的数据库.所以这里就要过虑了.
先上代码
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=Yldb666;Data Source=" + @"test.mdb;";
conn = new OleDbConnection(connectionString);
conn.Open();
System.Data.DataTable schema = conn.GetSchema("Tables", new string[] { null, null, null, "TABLE" });
this.dataGridView1.DataSource = schema;
conn.Close();
conn.Dispose();
结果如下:
好了,进行过虑的数组为是 conn.GetSchema("Tables", new string[] { null, null, null, "TABLE" });
看第二图中,用conn.GetSchema("Tables");得到的数据中,前3列 与 new string[] { null, null, null, "TABLE" });前3个null 是对应的.
也就是说,过虑数组中第一个,对应结果列表的第一列,以此类推. 所以在第二图中,自己建的表的类型为"TABLE",所以 最后要写成
new string[] { null, null, null, "TABLE" }); 这样,过虑出来的数据,才是我们想要的.
那么,其他数据库,也是这个样子的.测试数据库是Access 2000版 自己可以试一下.
OK.就到这里吧.
ADO.NET中DbConnection.GetSchema方法的使用总结的更多相关文章
- ADO.NET中COMMAND对象的ExecuteNonQuery、ExcuteReader和ExecuteScalar方法
1.ExecuteNonQuery方法.该方法执行更新操作,即与UPDATE.INSERT.DELETE等语句有关的操作,在这种情况下,返回值是命令影响的行数.对其他语句,如SET或CREATE,则返 ...
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
jquery提供的serialize方法能够实现. $("#searchForm").serialize();但是,观察输出的信息,发现serialize()方法做的是将表单中的数 ...
- ADO.NET 中的新增功能
ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient D ...
- 抽象工厂在ADO.Net中的应用
https://msdn.microsoft.com/zh-cn/library/ms971499.aspx http://www.c-sharpcorner.com/UploadFile/moses ...
- Visual Studio 2010添加新项缺失[ADO.NET 实体数据模型]解决方法
当进行ASP.NET MVC项目开发,准备使用EF进行数据库访问,我的开发模式是"Table First".于是,准备在Model目录新建EF的数据表映射文件.可是,在添加新项目窗 ...
- 【转】ADO.NET中的五个主要对象
Connection 物件 Connection 对象主要是开启程序和数据库之间的连结.没有利用连结对象将数据库打开,是无法从数据库中取得数据的.这个物件在ADO.NET 的最底层,我们可以自己 ...
- ADO.NET中的TransactionScope何时需要启用MSTDC(分布式事务管理)
我们知道在ADO.NET中可以用TransactionScope来将多个SqlConnection(多个数据库连接)执行的Sql语句放入一个事物中提交或取消,但是使用TransactionScope的 ...
- [翻译]比较ADO.NET中的不同数据访问技术(Performance Comparison:Data Access Techniques)
Performance Comparison: Data Access Techniques Priya DhawanMicrosoft Developer Network January 2002 ...
- ADO.NET 中的数据并发
当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响.处理这种情况的系统叫做“并发控制”.并发控制的类型通常,管理数据库中的并发有三种常见的方 ...
随机推荐
- swift - tableView数据向上收缩动画
// // TTTableViewController.swift // tableVIewAnimation // // Created by su on 15/12/11. // Copy ...
- (博弈 sg入门2)
接下来介绍Nim游戏(同样引用杭电上的,懒的打字) 1.有两个玩家: 2. 有三堆扑克牌(比如:可以分别是 5,7,9张): 3. 游戏双方轮流操作: 4. 玩家的每次操作是选择其中某 ...
- 2016-2017-2 20155223 实验二 《Java面向对象程序设计》
2016-2017-2 苏黄永郦 实验二 实验报告 前期准备工作--程序安装 -问题一 开始的时候我就在老师博客的指导下安装IDEA插件JUnit Generator V2.0.当然我的IDEA肯定没 ...
- 团体程序设计天梯赛L2-023 图着色问题 2017-04-17 09:28 269人阅读 评论(0) 收藏
L2-023. 图着色问题 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 图着色问题是一个著名的NP完全问题.给定无向图 G ...
- HDU 5974 A Simple Math Problem(数论+结论)
Problem Description Given two positive integers a and b,find suitable X and Y to meet the conditions ...
- Http 安全检测
httpsecurityreport.com www.ssllabs.com
- 45 Useful JavaScript Tips, Tricks and Best Practices
<45 Useful JavaScript Tips, Tricks and Best Practices> http://flippinawesome.org/2013/12/23/45 ...
- 提问的智慧——其实你真的不会提问!(转)
在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法.本指南旨在帮助你提高发问技巧,以获取你最想要的答案. 首先你必须明白,黑客们只偏爱艰 ...
- C# 多线程task
1.异步和多线程的区别?没什么太大区别.异步是目的,使用多线程实现.想想AJAX异步加载,不就是不想让浏览器界面卡住嘛,所以在程序中对于某些单独的操作,比如写日志,我们不想等它完成后再执行其它操作(因 ...
- 初识Mybatis框架
mybatis框架 主要是对数据库进行操作的 编写sql语句 使我们对数据库的crud操作更加简洁方便!! 1.使用mybatis框架 进行第一个项目 查询数据库 并返回数据 :(简单) (1)搭建 ...