• 获取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;

                }

            }

  • 相关阅读:
    nyoj 117 求逆序数 (归并(merge)排序)
    2018年四川理工学院软件工程考试大纲(软件需求分析)
    2018年四川理工学院软件工程考试大纲(软件计划与可行性研究)
    hdu 1166 敌兵布阵 (线段树、单点更新)
    hdu 1754 I Hate It (线段树、单点更新)(PS:ios::sync_with_stdio(false)可以加快cin、cout的读取写出速度)
    周末手撸管理系统(一)
    drf源码save以及response
    drf框架serializers中ModelSerializer类简化序列化和反序列化操作
    drf框架序列化和返序列化
    django模型中有外键关系的表删除相关设置
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/1794099.html
Copyright © 2020-2023  润新知