数据库导出向导工具介绍

在本文中,将分享一个简单但非常有用的小工具:ExportWizard,这是一个数据库导出的步骤向导。它引导用户通过几个简单的步骤来选择数据库对象(表、视图或查询),选择要导出的列,并以任何标准格式(CSV、HTML、XML或SQL)导出数据。

用户界面:三个简单步骤

导出数据库的任务可以分解如下:

  • 选择源数据库对象(表、视图或查询)
  • 选择要包含在导出中的列
  • 选择导出格式(CSV、HTML、XML、SQL...)

这些简单的顺序任务非常适合使用步骤向导来完成。本文讨论的实现是一个Web控件,因此下面的截图是在Web浏览器中。它也可以以相同的基本元素和步骤安排编码为桌面应用程序。

选择要导出数据的表、视图或SQL查询。

选择要包含在导出中的列和排序选项。

最后一步是选择导出格式和选项。每种格式都有不同的选项(使用一点JavaScript来动态切换选项面板,而不需要提交页面):

  • CSV, TXT, Excel
  • XML
  • HTML
  • SQL

使用Web控件

代码被封装为一个Web控件(用VB.NET编写),用于ASP.NET和SQL Server。它完全集成到Visual Studio及其所见即所得设计器中。只需拖放即可将控件嵌入到页面中。

以下是一些关键属性及其描述:

  • DesignStep(仅设计时):允许在设计时查看任何步骤的所见即所得显示。
  • DHTMLenabled:确定用户是否可以显示和隐藏选项。
  • HeaderStep1、HeaderStep2、HeaderStep3:每个步骤的介绍文本。建议值:
  • SourceObject:用于限制可能的表或视图的属性,从这些表或视图中导出。逗号分隔的数据库对象列表。
  • SourceColumns:默认要选择的列的逗号分隔列表。例如:
  • SqlConnection:数据库的连接字符串,例如:
  • StepIndex(只读):当前显示的步骤索引。
SqlConnection="SERVER=(local);DATABASE=EvoDemo;UID=john;PWD=secret;"

ExportWizard提供了一个事件:

  • Show:在显示时触发。事件参数是向导当前的标题和步骤索引。

ShowEventArgs:

  • Title作为String,
  • StepIndex作为Integer。

GetExport:返回数据库导出作为String。

GetExport("Contact", "Firstname, Lastname, PhoneW, email", "HTML")

参数描述:

  • Table:要导出的表或视图。
  • Columns:要导出的列的列表。可能的值:Columns="ID,name"或Columns="*"。
  • ExportType:导出的格式。可能的值:CSV、HTML、SQL、TXT或XML。

此外,还适用从System.Web.UI.WebControls.WebControl继承的标准属性。

将控件嵌入到页面中

要嵌入控件,请将控件DLL复制到Web应用程序的bin目录,并在页面中添加两行代码。第一行注册控件标签前缀(将其放在页面顶部):

<%@ Register TagPrefix="EVOL" Namespace="Evolutility.ExportWizard" Assembly="Evolutility.ExportWizard" %>

第二行嵌入控件。将该行放置在页面内的任何位置:

<EVOL:ExportWizard id="ExportWizard1" runat="server" SqlConnection="Server=(local);Database=Demo;Trusted_Connection=yes;" />

关于代码

许多开发人员或数据库管理员之前已经编写过从数据库导出的代码(如果正在阅读本文,很可能也编写过)。这个Web控件是用VB.NET编写的,不打算扩展,但它可以完成小型数据库表的工作。

为了用表和视图的列表填充下拉列表,或者列的列表,使用的技术是直接查询SQL Server系统表。

  • sysobjects(包含表、视图、存储过程和触发器的名称)
  • syscolumns(包含列和存储过程参数名称)
  • systypes(包含在企业管理器中显示的列类型)

数据库用户必须能够访问这些系统表。这些表也可以用来生成数据库设计文档,如另一篇文章中讨论的。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485