zoukankan      html  css  js  c++  java
  • 获取Access数据里所有表的名称和表的字段

    --------------
    //获取Access数据库表名
            public void GetTableName()
            {
                    string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"C:\信息技术考试成绩.mdb";
                    OleDbConnection conn = new OleDbConnection(connString);              

                    conn.Open();
                    DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });

                    conn.Close();
                    int n = dt.Rows.Count;
                    string[] tableName = new string[n];
                    int m = dt.Columns.IndexOf("TABLE_NAME");
                    for (int i = 0; i < n; i++)
                    {
                        DataRow dr = dt.Rows[i];
                        tableName[i] = dr.ItemArray.GetValue(m).ToString();

                        this.cbxtable.Items.Add(tableName[i].ToString());
                    }
                    this.cbxtable.SelectedIndex = 0;

                                                           
              }

            /// <summary>
            /// 返回某一表的所有字段名
            /// </summary>
            public List<string> GetTableColumn(string tableName)
            {
                string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"C:\信息技术考试.mdb";
                OleDbConnection conn = new OleDbConnection(connString);
                List<string> list = new List<string>();
                DataTable dt = new DataTable();
                try
                {
                   
                    conn.Open();
                    dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, tableName, null });
                    int n = dt.Rows.Count;
                    string[] strTable = new string[n];
                    int m = dt.Columns.IndexOf("COLUMN_NAME");
                    for (int i = 0; i < n; i++)
                    {
                        DataRow dr = dt.Rows[i];
                        list.Add(dr.ItemArray.GetValue(m).ToString());
                    }
                    return list;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    conn.Close();
                }
            }
            private void button3_Click(object sender, EventArgs e)
            {

                string str = this.cbxtable.SelectedItem.ToString();
                {
                    List<string> lst = GetTableColumn(str);
                    listBox1.DataSource = lst;

                }

            }

  • 相关阅读:
    Python开源框架、库、软件和资源大集合
    java常用的框架介绍
    2016年7款最佳 Java 框架
    10款免费开源PHP框架
    10个提升MySQL性能的小技巧
    15个最受欢迎的Python开源框架
    Facebook's React vs AngularJS: A Closer Look
    用c#监控网络状态
    15种主要编程语言介绍及应用场合
    物联网常见通信协议梳理
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/1794099.html
Copyright © 2011-2022 走看看