⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 改程序能够查询课程表
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Collections ;
using System.Xml;


namespace test
{
    public partial class Form1 : Form
    {
        Boolean isSelectDatabaseFile = false;//判断是否选择数据库,否则不进行下一步
        OleDbConnection cn;
        public ArrayList tables=new ArrayList ();
        public String accessFileName;
        public Form1()
        {
            InitializeComponent();
        }

        private void selectDataFilePathButton_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "All files (*.*)|*.*|mdb files (*.mdb)|*.mdb";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                dataBaseFilePathTextBox.Text = openFileDialog.FileName;
              //  accessFileName = openFileDialog.
                isSelectDatabaseFile = true;
            }


        }

        private void dataBaseNextButton_Click(object sender, EventArgs e)
        {
            if (isSelectDatabaseFile)

            {
                ArrayList arrTables=getDataTables(dataBaseFilePathTextBox.Text);
                tablesListView.View =View.List ;
                foreach (String tableName in arrTables)//遍历每一张表
                {
                    tablesListView.Items.Add(tableName );//显示表名在listview中
                  
                
                }

                
                tab.SelectedIndex = 1; 
            }
            else
                MessageBox.Show("请先选择数据库文件");
        }
        private ArrayList getDataTables(String accessFileName)
        {
            ArrayList arrTables = new ArrayList();
            String url = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + accessFileName;
            try
            {
                cn = new OleDbConnection(url);
                cn.Open();
            
            //  String sql=" select   Name   from   msysobjects   where   ParentID   =   (select   id   from   msysobjects   where   Name='Tables')"; 

         
            DataTable userTbl = new DataTable();
            userTbl = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "Table" });

            foreach (DataRow dataRow in userTbl.Rows)
            {
                arrTables.Add(dataRow["Table_Name"].ToString());

            }

        }
        catch (SystemException ex)
        {

            MessageBox.Show(ex.Message);
        }
            return arrTables;
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void tablesListView_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            Table table = new Table();
            if (e.Item.Checked)
            {
                table.TableName = e.Item.Text;//获得选中的表名
                table.AccesFileName = dataBaseFilePathTextBox.Text;

                //获得当前表的所有的字段及类型保存在table类中
                DataTable userTbl = new DataTable();
                userTbl = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new Object[] { null, null, table.TableName, null });

                foreach (DataRow dataRow in userTbl.Rows)
                {
                    // 将表中字段及类型加入到table类中
                    Field field = new Field();
                    field.FieldName = dataRow["COLUMN_NAME"].ToString();
                    field.FieldType = dataRow["DATA_TYPE"].ToString();
                  field.FieldDescription =dataRow["DESCRIPTION"].ToString();
                    table.Fields.Add(field);
                    //DATA_TYPE  
                    //string   130
                    //longint    3
                    //float   4
                    // int    2
                }
                tables.Add(table);
            }
        }

        private void dataTableNextButton_Click(object sender, EventArgs e)
        {
            tab.SelectedIndex = 2; 
        }

        private void dataTablePrevButton_Click(object sender, EventArgs e)
        {
            tab.SelectedIndex = 1; 
        }

        private void generateButton_Click(object sender, EventArgs e)
        {
            foreach (Table table in tables)
            {
                table.changeTableToObjectAttributeFile (objectFilePathTextBox.Text, nameSpaceTextBox.Text);
                table.changeTableToObjectLocatorFile(objectFilePathTextBox.Text, nameSpaceTextBox.Text); 
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                objectFilePathTextBox.Text = openFileDialog.FileName;

                
            }
        }

        private void tablesListView_ItemCheck(object sender, ItemCheckEventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
     {
        
            
           
        }

        private void tabPage3_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("test.xml");
           
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("tables").ChildNodes;//获取bookstore节点的所有子节点
            foreach (XmlNode xn in nodeList)//遍历所有子节点
            {
                XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
                
                    XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
                    foreach (XmlNode xn1 in nls)//遍历
                    {
                        XmlElement xe2 = (XmlElement)xn1;//转换类型
                        if (xe2.Name == "tableName")//如果找到
                        {
                            //xe2.InnerText = "亚胜";//则修改
                            MessageBox.Show (xe2.InnerText ); 
                            break;//找到退出来就可以了
                        }
                    }
                    break;
                }
        
          

 





        }
      
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -