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

本文介绍了一个自用的SQL数据库数据导出工具,它虽然界面复杂,但功能实用。涉及窗体关闭事件处理、数据库及表的选择、字段选取、数据预览限制以及数据保存等操作。工具支持从XML配置文件读取数据,并使用Linq To Xml进行数据读取,避免了.NET 2.0以后不支持的DT.ReadXml()方法。
摘要由CSDN通过智能技术生成

这个工具的控件有点多,而且逻辑有点乱,没办法,毕竟不是面向普通用户的,纯粹就是一方便我自己从不同系统里面导出数据使用的小工具,怎么方便怎么来呗。

一、先说说窗体关闭事件,SelectData窗体来源可能是来自登录窗体打开,也可能是入口程序那里打开,所以要统一关闭事件。

        private void SelectData_FormClosed(object sender, FormClosedEventArgs e)//窗体关闭,程序退出
        {
            DataOperation.Xml.SetRunFile(null);
            Environment.Exit(0);
        }
简单,就是把临时文件给删了,退出程序。

二、列出常见表的数据,comboBox1的SelectionChangeCommitted事件。

        private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)//选择常见数据表,更新数据
        {
            if (comboBox1.SelectedIndex != 0)
            {
                DataTable DT = comboBox1.DataSource as DataTable;
                int ID = comboBox1.SelectedIndex;
                DataBaseName = DT.Rows[ID]["DataBaseName"].ToString();
                DataTableName = DT.Rows[ID]["TableName"].ToString();
                DataColumn = "*";
                Conditions = null;
                SqlCmdRefresh();
                ColumnsRefresh();
                dGVRefresh();
                button3.Enabled = false;
            }
        }
看到没有,读取出comboBox1绑定的数据源,给定义好的那几个窗体内全部变量赋值,在按顺序执行预先定义好的函数,因为这里是选择常见表的,所以把button3给毙掉,都已经有了,没必要再保存一次吧。晕,忘记把button5给Show出来了,button5是删除常见表和常见命令的按钮,自己添加上去吧,否则就要去xml文件里面自己删除了。

三、选择用户数据库,列出该库所有表

        private void comboBox2_SelectionChangeCommitted(object sender, EventArgs e)//选取数据库,同步列出该数据库所有用户表
        {
            button5.Hide();
            if (comboBox2.SelectedIndex != 0)
            {
                string DataBaseName = comboBox2.SelectedValue.ToString();
                DataTable DT = DataOperation.Sql.GetDataTable(DataBaseName);
                if (DT != null)
                {
                    comboBox3.DataSource = DT;
                    comboBox3.DisplayMember = "name";
                    comboBox3.ValueMember = "name";
                    comboBox3.Show();
                }
                else
                {
                    MessageBox.Show("亲,这好像是个空数据库,找不到任何表!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                comboBox3.Hide();
            }
        }
很简单,根据comboBox2选中的数据库,读取所有用户表,塞到comboBox3里,同时把comboBox3显示出来。
四、同理,选中comboBox3中表,把表的数据全列出来,其实和comboBox1是一个鸟样的,区别是读取数据方式不一样,一个是从DataTable中读取,一个是从控件中读取。

        private void comboBox3_SelectionChangeCommitted(object sender, EventArgs e)//选取数据表,更新数据
        {
            if (comboBox3.SelectedIndex != 0)
            {
                DataBaseName = comboBox2.SelectedValue.ToString();
                DataTableName = comboBox3.SelectedValue.ToString();
                DataColumn = "*";
                Conditions = null;
                SqlCmdRefresh();
                ColumnsRefresh();
                dGVRefresh();
            }
        }
五、根据常见命令列出数据,和comboBox1也是一个鸟样

        private void comboBox4_SelectionChangeCommitted(object sender, EventArgs e)//选取常见Sql命令事件
        {
            if (comboBox4.SelectedIndex > 0)
            {
                DataTable DT = comboBox4.DataSource as DataTable;
                int ID = comboBox4.SelectedIndex;
                DataBaseName = DT.Rows[ID]["DataBaseName"].ToString();
                DataTableName = DT.Rows[ID]["TableName"].ToString() ;
                DataColumn = DT.Rows[ID]["DataColumn"].ToString();
                Conditions = DT.Rows[ID]["Conditions
此程序基于.netFramework 开发环境 使用前 安装.netFramework。 如何选择和连接数据库: · 先从下拉框中选择服务器 · 如果使用用户名和密码登录,则填入用户名和密码(不要选择“集成Windows认证”复选框) · 如果使用Windows认证登录,则选中“集成Windows认证”复选框 · 完成上述步骤后,就可以从下拉框中选择数据库了(您也可以点击“重新连接”以刷新数据库信息) · 选择好数据库后,就可以执行以下各项功能 SQL脚本排序: · 使用前请先在SQLServer企业管理器里生成SQL脚本,保存为文件 · 运行本程序,在主界面上选择数据库,点击“脚本排序”按钮进入排序界面 · 在脚本排序界面点“浏览”按钮选择刚才生成的文件,点击“开始排序”按钮 清除事务日志: · 运行本程序,在主界面上选择数据库,点击“清除日志”按钮 数据导出: · 运行本程序,在主界面上选择数据库,点击“数据导出”按钮进入数据导出界面 · 导出XML:在数据导出界面中选择要导出数据,点击“导出XML”按钮,选择要保存的文件后等待导出结束即可;导出的结果是XML文件,该文件可以用“数据导入”功能导入到目标数据库。 · 导出SQL:在数据导出界面中选择要导出数据,点击“导出SQL”按钮,选择要保存的文件后等待导出结束即可;导出的结果是SQL脚本,该脚本可以用查询分析器执行。 数据导入: · 运行本程序,在主界面上选择数据库,点击“数据导入”按钮进入数据导入界面 · 进入界面时会要求您选择数据文件,您也可以点击“打开XML数据文件”选择其他的数据文件 · 在数据导入界面中选择要导入的数据,点击“数据检测”按钮可以检查目标数据库中是否有已存在的数据 · 在数据导入界面中选择要导入的数据,点击“导入数据”按钮可以将所选数据导入到目标数据库 · 说明:导入过程中会自动处理Identity列,并且会根据之间的依赖关系,先导入主键再导入外键
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值