SQL数据库通用数据导出工具(二)

本文介绍了一个SQL数据库数据导出工具的实现,包括UI设计、控件参数设置、数据库读取、表和命令初始化、全局变量及公用函数的应用。通过控件事件处理,实现SQL命令的合成、字段选择等功能,确保用户能便捷地导出所需数据。
摘要由CSDN通过智能技术生成

虽然上篇博文已经发过图了,但为方便了解,再发一次操作界面图,发个设计图吧


UI就这样,根据自己需要设置各控件参数,因为要显示数据,我设置了打开时最大化,dataGridView和checkedListBox会随窗体变化自动伸缩的。

SelectData这个窗体控件多了点,而且设置逻辑关系有点小复杂,不满足部分条件,有些控件是不可见不可用的。

先看看初始化窗体的代码

        private void SelectData_Load(object sender, EventArgs e)//加载窗体函数,初始化窗体
        {
            if (File.Exists(@"Res\Config.xml"))
            {
                XElement XE = XElement.Load(@"Res\Config.xml").Element("Config");
                SelectTop = XE.Element("SelectTop").Value;
                this.Text = XE.Element("Title").Value;
                this.Icon = new Icon(@"Res\" + XE.Element("Ico").Value + ".ico");
            }
            else
            {
                MessageBox.Show("导出工具不完整,部分组件丢失.", "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DataOperation.Xml.SetRunFile(null);
                Environment.Exit(0);
            }
            checkBox1.Text = "只列出前"+SelectTop+"条记录";
            DataTable DT = DataOperation.Sql.GetDatabase();
            comboBox2.DataSource = DT;
            comboBox2.DisplayMember = "name";
            comboBox2.ValueMember = "name";
            if (DT.Rows.Count <= 1)
            {
                this.Hide();
                MessageBox.Show("亲,你弄错服务器了吧,没发现任何用户数据库!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                DataOperation.Xml.SetRunFile(null);
                Environment.Exit(0);
            }
            LoadTable();
            LoadSqlCmd();            
            comboBox3.Hide();
            button5.Hide();
            checkedListBox1.Hide();
            dataGridView1.Hide();            
            toolStripStatusLabel1.Text = "尚未加载数据!";
        }
先校验一下Config.xml文件,修改窗体的标题和图标。

接下来使用DataOperation.Sql.GetDatabase()这个函数读取服务器所有数据库,并绑定在comboBox2,如果没有用户数据库,就退出程序。

这个函数在《SQL数据库读取数据库名、表名和字段名系列操作》博文中讲过,这里不多说了。

LoadTable()和LoadSqlCmd()分别是初始化常见表和常见命令两个comboBox的函数,因为别的控件还用到,所以写成了函数。

        private void LoadTable()//为comboBox1加载数据,加载常见表
        {
            DataTable DT = DataOperation.Xml.GetTable();
            comboBox1.DataSource = DT;
            comboBox1.DisplayMember = "Trip";
            comboBox1.ValueMember = "ID";
            if (DT.Rows.Count <= 1)
                comboBox1.Enabled = false;
            else
                comboBox1.Enabled = true;
        }
        private void LoadSqlCmd()//为comboBox4加载数据,加载常见命令
        {
            DataTable DT = DataOperation.Xml.GetSqlCmd();
            comboBox4.Data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值