zoukankan      html  css  js  c++  java
  • 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.就到这里吧.

  • 相关阅读:
    工作流 —— AWS
    ant design —— form 生成 嵌套json数据
    react 获取子组件的 state (转发)
    React 调用子组件的函数(函数)
    react js 组件传参(转发)
    链接脚本文件(.ld .lds)详解
    gcc ------ -ffunction-sections -fdata-sections -gc-sections 参数详解
    GNU ARM 汇编伪指令
    STM32 CM3/CM4 ------ startup.s 文件分析 ------ GCC RT-Thread Studio 版本
    __attribute__之section详解 ------ 把函数指定到具体某个section 之 RT-thread 实例详解
  • 原文地址:https://www.cnblogs.com/yunfeng83/p/4436437.html
Copyright © 2011-2022 走看看