资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,电子工业出版社,(,数据库基础教程(,SQL Server,平台),配套电子教案),数据库应用开发,1,数据库应用系统的开发过程,2,数据库应用系统的体系结构,3,常用的数据库系统,4,常用数据库应用开发工具简介,5,Visual Basic,数据库应用开发,6,C#,数据库应用开发,过程、平台与实例,8.1,数据库应用系统的开发过程,数据库应用系统的开发过程一般包括以下阶段:,需求分析,总体设计,详细设计,编码与单元测试,系统测试与交付,系统使用与维护,需求分析,整个开发过程从分析系统的需求开始。系统需求包括数据的需求和处理的需求两方面内容。这一阶段要摸清现状,理清将要开发的目标系统应具有哪些功能。,描述用户需求传统的方法大多采用结构化的分析方法(,Structured Analysis,,,SA,),即按应用部门的组织结构,对系统内部的数据流进行分析,逐层细化,用数据流图(,Data Flow Diagram,,,DFD,)描述数据在系统中的流动和处理,并建立相应的数据字典(,Data Dictionary,,,DD,)。,随着面向对象程序设计语言的广泛使用,面向对象的分析方法(,Object-Oriented Analysis,,,OOA,)得到推广,。,总体设计,总体设计的目标是使应用系统总体结构具有层次性,尽量降低模块接口的复杂度。进行总体设计时,可提出多种设计方案,并在功能、性能、成本、进度等方面对各种方案进行比较,选出一种“最佳方案”。,总体设计应提交总体设计说明书,包括系统支撑环境和设计工具、系统总体结构、功能模块划分、模块间的接口描述、各模块功能描述、目标系统运行的软,/,硬件和网络环境等内容。,详细设计,详细设计的目标是对概要设计产生的功能模块进一步细化,形成可编程的结构模块,并设计各模块的单元测试计划。,详细设计应提交详细设计规格说明书和单元测试计划等详细设计文档。,编码与单元测试,编码与单元测试的主要任务为:编写实现各功能模块的程序代码,并进行相应的测试。编码阶段应注意遵循编程标准、养成良好的编程风格,以便编写出正确的便于理解、调试和维护的程序模块。,编码与单元测试的阶段应提交通过单元测试的各功能模块的集合、详细的单元测试报告等文档。,系统测试与交付,系统测试包括组装测试与验收测试。,系统测试完成后应提交测试报告、项目开发总结报告、源程序清单、用户手册等文档。最后,由专家、用户负责人、软件开发和管理人员组成软件评审小组对软件验收测试报告、测试结果和应用系统进行评审。通过后,该数据库应用系统可正式交付用户使用。,系统使用与维护,(,1,)在应用系统运行过程中,及时收集发现的错误,并撰写“应用系统问题报告”,以便改正应用系统中潜藏的错误。,(,2,)根据数据库维护计划,对数据库性能进行监测。当数据库出现故障时,对数据库进行转储和恢复,并做相应的维护记录。,(,3,)根据软件系统恢复计划,当软件系统出现故障时,进行软件系统恢复,并做相应的维护记录。,8.2,数据库应用系统的体系结构,数据库应用系统的体系结构是指数据库应用系统各组成部件之间的结构关系。,可分为,4,种模式:,单用户模式,主从式多用户模式,客户,/,服务器模式,(Client/,Server,C,/S),Web,浏览器,/,服务器模式,(Browser/,Server,B,/S),8.2.1,单用户模式,单用户模式的数据库应用系统,将数据库、,DBMS,和应用程序安装在一台计算机上,由一个用户独占系统,不同系统之间不能共享数据,。,8.2.2,主从式多用户模式,主从式多用户数据库应用系统,将数据库、,DBMS,和应用程序安装在主机上,多个终端用户使用主机上的数据和程序。,在这种结构中,所有处理任务都是由主机完成的。,用户终端没有应用逻辑,它向主机发出请求,由主机响应请求后返回处理的结果。,当终端用户增加到一定程度时,主机任务就会过分繁重,形成瓶颈,系统性能就会严重下降。,8.2.3 C/S,模式,8.2.4 B/S,模式,8.3,常用的数据库系统,常用大中型关系数据库管理系统:,SQL Server,、,Oracle,、,Sybase,、,DB2,小型的关系数据库管理系统:,MySQL,、,Access,和,VFP,等。,8.4,常用数据库应用开发工具简介,随着计算机技术的不断发展,各种数据库应用开发工具也在不断发展。应用开发人员可以利用一系列高效、具有良好可视化的开发工具,来开发各种数据库应用系统,达到事半功倍的效果。,目前使用较广的是,Visual Studio,、,Delphi,、,PowerBuilder,以及,Eclipse,等,这几个开发工具各有所长,各具优势。,VB,提供了可视化的集成开发环境,可以方便地用“所见即所得”的方式设计用户界面,以事件驱动作为应用程序的运行驱动。,有以下功能特点:,具有基于对象的可视化设计工具,事件驱动的编程机制,易学易用的集成开发环境,支持对多种数据库的访问,8.5 Visual Basic,数据库应用开发,VB,集成开发环境和其他,Windows,应用程序一样,具有标题栏、菜单栏和工具栏等。,标题栏的内容就是应用程序工程名称加上“,Microsoft Visual Basic,设计,”,字样。菜单栏提供了编辑、设计和调试,VB,应用程序所需要的命令。工具栏是一些常用菜单命令的快捷按钮。此外,,VB,集成开发环境还具有窗体窗口、代码窗口、工具箱、工程资源管理器窗口、属性窗口和窗体布局窗口等。,8.5.1 VB,程序设计概述,VB,集成开发环境主界面,程序设计步骤,创建应用程序界面,。用,VB,创建的,Windows,应用程序界面通常由按钮、文本框等可视化控件组成。设置界面上各对象的属性,如名称、大小、颜色等。,编写对象相应的程序代码,。在代码窗口中输入对事件的处理程序代码。,运行和调试,。程序编写完后,通过“运行”菜单中的“启动”选项运行程序。当出现错误时,,VB,系统将提供提示信息,也可通过“调试”菜单中的选项来查找和排除错误。,8.5.2 VB,数据库访问接口,在,VB,中,使用,ADO,访问数据库是通过一组存取数据库的控件完成的。,ADO,主要有,7,大对象,和,4,大数据集合,。,7,大对象是,Command,、,Connection,、,Parameter,、,RecordSet,、,Field,、,Property,和,Error,对象。,4,大数据集合是,Fields,、,Properties,、,Parameters,和,Errors,数据集合。,把这,7,大对象和,4,大数据集合称为,ADO,原生对象,。,VB,的,ADO,数据控件,是对,ADO,原生对象加以封装,以可视化控件的形式呈现的。,在程序开发中,既可通过,ADO,控件访问数据库,也可直接使用,ADO,数据对象。,在默认情况下,,ADO,数据控件并不出现在,VB,的“工具箱”中。,因此,如果要使用,ADO,数据控件进行开发,首先需要将,ADO,数据控件添加到工程中,实现方法为:选择“工程”“部件”命令,打开“部件”对话框。选择“,Microsoft ADO Data Control 6.0,(,OLEDB,)”,单击“确定”按钮。,添加,ADO,数据控件,添加,ADO,数据控件,数据控件,ADO,数据控件的属性,ADO,数据控件的属性定义了怎样连接数据库以及如何连接数据库中的对象。,ADO,数据控件的主要属性有,ConnectionString,、,CommandType,、,RecordSource,和,Recordset,。,示例,【,例,】,利用,VB,中的,ADO,控件设计显示,SPDG,数据库中,KHB,表全部记录的程序。本程序包含一个窗体,采用,VB,中的,ADO,控件连接,SQL Server 2005,数据库。,示例,打开,VB6.0,,创建一个标准的,EXE,程序。将窗体调整至适当大小,将窗体的,Caption,属性值设置为:,VB,中使用,ADO,访问数据库示例。保存当前工程。,添加一个,Label,控件、一个,Adodc,控件和一个,DataGrid,控件到窗体,它们的控件名分别为,Label1,、,Adodc1,、,DataGrid1,,,设置,Label1,控件的,Caption,属性为:客户表的信息。,设置,Adodc1,控件的,Visible,属性为,False,;设置,Adodc1,控件的,ConnectionString,属性,使其连接到,SPDG,数据库;设置,Adodc1,控件的,RecordSource,属性,使其值为,KHB,。,设置,DataGrid1,控件的,DataSource,属性为,Adodc1,。,单击,VB6.0,快捷工具栏上的执行按钮,执行程序。,示例,使用,ADO,对象,使用,ADO,对象访问数据库的一般流程是:连接到数据源(如,SQL Server,)给出访问数据源的命令及参数执行命令处理返回的结果集关闭连接。,所有的,ADO,对象之前都要加上“,ADODB.”,来加以限定。,VB,操作数据库最重要的三个对象是:,Connection,Recordset,Command,对象,Connection,对象,Connection,对象用于建立数据源的连接。,下面的代码可实现到,SQL Server 2005,的连接:,Dim,cn,As New,ADODB.Connection,定义并创建,Connection,对象,cn.Open,Provider=SQLOLEDB.1;Server=HOME-,679B5B9580SQL2005;,DataBase,=SPDG;UID=,sa;PWD,=123;,Connection,对象的常用方法,方 法 名,描 述,Open,打开一个数据源的连接,Close,关闭数据源的连接,Execute,在数据源上执行一个命令,返回一个结果集,CommandTimeout,等待命令执行的时间(默认值为,30,秒),ConnectionString,若未传递参数给,Open,方法,则在,ConnectionString,中置入数据源连接串可达到同样的目的,ConnectionTimeout,等待连接数据源的时间(默认值为,15,秒),DefaultDatabase,当未指定数据库名时所连接到的数据库,Provider,为连接提供数据的提供者名,Recordset,对象,Recordset,对象是最重要的,ADO,对象,它实现结果集的封装,其数据结构可认为与表相同,,Recordset,(若不为空)中的数据在逻辑上由行和列组成。使用,Recordset,对象可进行数据增加、删除和修改等操作。,Recordset,对象的常用属性,属 性 名,描 述,ActiveConnection,当前,Connection,对象,BOF,若当前位置在,Recordset,的首部,其值为真,否则为假,EOF,若当前位置在,Recordset,的尾部,其值为真,否则为假,Filter,指定记录集的过滤条件,Recordset,对象的常用方法,方 法 名,描 述,Addnew,向,Recordset,中添加新记录,CancelUpdate,在执行,Update,方法之前取消对记录的修改,Close,关闭与,Recordset,的连接,Delete,删除当前记录,Move,将当前位置移动到指定记录,MoveFirst,将当前位置移动到第一条记录,MoveLast,将当前位置移动到最后一条记录,MoveNext,将当前位置移动到下一条记录,MovePrevious,将当前位置移动到前一条记录,Open,打开与数据源连接的新的,Recordset,对象,Update,修改当前记录,Fields,对象集合,Recordset,对象还有一个十分有用的对象集合,Fields,。,Fields,由多个,Field,对象组成,其,Count,属性是它所包含的,Field,的个数,而,Recordset,又是由多个,Fields,构成的。每个,Field,对象对应表中的一个字段。,Field,对象的属性如下。,Name,:字段名;,Value,:字段值;,Type,:字段的数据类型,当建立了一个结果集,rs,后,可用,rs.Fields(0),rs.Fields(M,),分别引用各个列。,示例,【,例,】,建立与数据库,SPDG,的连接,返回,KHB,表的所有记录,在文本框中显示。,本程序包含一个窗体,采用,VB,中的,ADO,对象连接,SQL Server 2005,数据库,利用,Recordset,对象返回,KHB,表的所有记录,并在文本框中显示。,打开,VB6.0,,创建一个标准的,EXE,程序。将窗体的,Caption,属性值设置为:使用,Recordset,对象的示例。保存当前工程。,添加一个,TextBox,控件到窗体,控件名为,Text1,,将其,MultiLine,属性改为,True,。,双击窗体空白处,输入程序代码。,示例,Command,对象,Command,对象也是,ADO,的一个重要对象,它的主要功能是让服务器执行,SQL,命令或服务器端的存储过程。,一个,Command,对象代表一个,SQL,语句,或一个存储过程,或其他数据源可以处理的命令。,Command,对象的主要属性和方法,属性,属 性 名,描 述,ActiveConnection,当前,Connection,对象,CommandText,命令串,CommandType,命令的类型,方法,方 法 名,描 述,CreateParameter,创建一个新的,Parameter,对象,Excute,执行指定的命令或存储过程,利用,Command,对象执行,SQL,语句,利用,Command,对象使服务器执行,SQL,语句的步骤:,先创建,Command,对象,然后设置,Command,对象的,ActiveConnection,和,CommandText,属性值,最后引用,Execute,方法使服务器执行设定的,SQL,语句,例如,下面的程序代码可使服务器执行,SQL,语句:,Dim,cmd,As New,ADODB.Command,Set,cmd.ActiveConnection,=,cn,cmd.CommandText,=“select*from KHB”,Set,rs,=,cmd.Execute,利用,Command,对象执行不带参数的存储过程,【,例,】,设已在,SPDG,数据库上创建了存储过程,KH_info,。建立与数据库,SPDG,的连接,执行该数据库的存储过程,KH_info,。,打开,VB6.0,,创建一个标准的,EXE,程序。将窗体的,Caption,属性值设置为“执行不带参数存储过程示例”。保存当前工程。添加一个,TextBox,控件到窗体,控件名为,Text1,,将其,MultiLine,属性改为,True,。双击窗体空白处,输入程序代码。,利用,Command,对象执行不带参数的存储过程,利用,Command,对象执行带参数的存储过程的步骤,为:,创建,Command,对象;,分别设置,Command,对象的,ActiveConnection,、,CommandType,和,CommandText,对象的属性值;,用,Command,对象的,CreateParameter,方法创建各参数对象,用,Command,对象的,Append,方法将各参数对象加入到其参数表中,通过,Command,对象的,Parameters,对象数组来设置各参数对象的值;,用,Command,对象的,Execute,方法执行存储过程。,利用,Command,对象执行带参数的存储过程,【,例,】,设已在,SPDG,数据库上创建了存储过程,KH_info1,建立与数据库,SPDG,的连接,执行该数据库的存储过程,KH_info1,。,在存储过程,KH_info1,定义中包含了两个输入参数:客户名称,(,KHName,),、商品名称,(,SPName,),。在程序中给出这两个输入参数值。,打开,VB6.0,,创建一个标准的,EXE,程序。将窗体的,Caption,属性值设置为“执行带参数存储过程示例”。保存当前工程。添加一个,TextBox,控件到窗体,控件名为,Text1,。双击窗体空白处,输入程序代码。,利用,Command,对象执行带参数的存储过程,利用,Command,对象执行带参数的存储过程,8.5.3,VB,数据库应用系统开发案例,商品订购管理系统,系统开发目的:建立一个基于,C/S,结构的商品订购管理系统,作为公司销售部门进行业务管理的一个助手,使得对商品订单的处理工作系统化、规范化和自动化。,系统应用场景描述:客户通过某种方式(如电话或邮件)订购某种商品,形成订单。由销售部门使用本系统将客户的商品订购信息输入,并可对输入的订单信息进行维护,同时可以查询订单原始信息和统计信息。,通过对应用环境、订单处理过程及各有关环节的分析,系统数据需求和功能需求分别如下。,(,1,)数据需求,所涉及的数据包括客户信息、商品信息和商品订购信息。,(,2,)功能需求,该系统具有客户数据维护(增、删、改)、商品数据维护、订单数据维护、订单查询等功能。,(1),系统需求分析,(2),数据库设计与实现,数据库概念设计,根据需求分析,系统所涉及的实体包括客户和商品。客户实体、商品实体的,E-R,模型分别为:,客户实体,商品实体,客户,-,商品联系,数据库逻辑设计,将数据库概念结构转化为,SQL Server 2005,所支持的实际数据模型,即数据库的逻辑结构。在实体及联系的基础上形成数据库中的表。其中表示客户实体的表为,KHB,、表示商品实体的表为,SPB,、表示客户与商品实体间联系的表为,SPDGB,。,数据库物理设计,一般来说,当选定了,DBMS,后,数据库的存储结构框架就基本确定了。,数据库设计与实现,数据库设计与实现,数据库建立与初始数据加载,接下来就可以利用,DBMS,的图形管理界面或,CREATE,语句来创建数据库表及相关内容(如索引、视图等)了。数据库创建后,就可加载初始数据。可通过图形管理界面或,INSERT,语句录入数据,也可利用辅助工具(如,SQL Server,的导入工具)进行数据的批量加载。,(3),系统设计,系统设计,根据系统需求分析,系统主要实现客户数据维护、商品数据维护、订单数据录入、订单数据维护、订单数据查询和订单数据统计功能,该系统分为,6,个功能模块。,系统主界面,(4),系统实现,系统实现,客户数据维护模块,系统实现,订单数据录入模块,8.6,C#,数据库应用开发,C#,是专门为,.NET,平台设计的程序语言,它从,C+,和,Java,语言发展而来,集成了它们的优秀特点,并使用事件驱动、完全面向对象的编程模式。,.NET,框架,.NET,框架为各类应用提供了一个一致的面向对象的编程环境,通过它可创建,Windows,应用程序、,Web,应用程序、,Web,服务和其他各种类型的应用程序。,8.6.1 C#,程序设计概述,Visual Studio,集成开发环境,Visual Studio,是功能强大的集成开发环境,利用其进行应用开发可大大提高开发效率。,VS,可以自动执行编译源代码的步骤,,VS,文本编辑器可以实现智能检测错误,在输入代码时给出合适的推荐代码。,VS,包括,Windows Forms,和,Web Forms,设计器,允许组件的简单拖放设计,简化了界面设计工作。,在,C#,中,许多类型的项目都可以用已有的“模板”代码来创建。,Visual Studio,开始界面,用,Visual C#,设计,WinForm,应用程序,WinForm,应用程序又称窗体应用程序。,WinForm,应用程序具有事件驱动、能响应复杂的操作、可产生丰富的回馈信息等优点。,利用,C#,设计,Windows,应用程序的过程可归结成以下,4,个步骤:,(,1,)利用窗体设计器和控件组中的控件设计应用程序界面。,(,2,)设计窗口和控件的属性。,(,3,)编写事件方法代码。,(,4,)调试并生成应用程序。,用,Visual C#,设计,WebForm,应用程序,ASP.NET,是基于,Web,的应用,需要,Web,服务器环境的支持。,在,Windows,操作系统下使用,IIS,(,Internet Information Server,),5.0,及以上版本作为,Web,服务器。,在,VS 2005,中设计,ASP.NET,应用程序的主要步骤是:,(,1,)创建,ASP.NET,应用程序对应的项目;,(,2,)利用,VS 2005,的可视化控件设计应用程序界面(可有多个页面,分别设计);,(,3,)编写应用程序控件的事件代码(界面中可包含多个控件,编写需要的事件代码)。,8.6.2 ADO.NET,数据库应用技术,本节将对数据库应用程序开发中使用的主要相关技术做进一步讨论,包括,DataSet,的对象模型、主要的,SQL,数据库类的属性、方法和事件,以及用于数据输出的常用数据控件。,(1),DataSet,的对象模型,DataSet,对象类位于,System.Data,命名空间,用于在内存中暂存数据,可认为它是一个内存数据库。,DataSet,包含一个或多个数据表(,DataTable,),表数据可来自数据库、文件或,XML,数据。数据集的结构如下:,DataSet,对象模型,DataSet,对象与其他对象的关系,ADO.NET,数据库访问过程,访问数据库的一般流程为:连接数据库执行,SQL,命令返回结果。,(2),连接数据库,SqlConnection,对象,用于创建到数据库的连接,其常用属性和方法如下:,属 性,说 明,ConnectionString,取得或设置连接字符串,Database,获取当前数据库名称,DataSource,获取数据源的完整路径及文件名,若是,SQL Server,数据库,则获取所连接的,SQL Server,服务器名称,方 法,说 明,Open(),打开与数据库的连接。注意,,ConnectionString,属性只对连接属性进行了设置,并不打开与数据库的连接,必须使用,Open(),方法打开连接,Close(),关闭数据库连接,(3),执行,SQL,命令,通过,Command,对象,或,DataAdapter,对象,都可对数据库执行查询和更新操作。,通过,Command,对象执行查询操作,需要与,DataReader,对象结合使用;而执行更新操作,则只要通过,Command,对象提交,SQL,语句。,通过,DataAdapter,对象执行查询和更新操作,都需要与,DataSet,对象结合使用。,SqlCommand,对象的属性,属 性,说 明,CommandText,取得或设置要对数据源执行的,SQL,命令、存储过程或数据表名,CommandType,获取或设置命令类别,可取的值:,StoredProcedure,,,TableDirect,,,Text,,代表的含义分别为:存储过程、数据表名和,SQL,语句,默认为,Text,。数字、属性的值为,CommandType.StoredProcedure,、,CommandType.Text,等,Connection,获取或设置,Command,对象所使用的数据连接属性,Parameters,SQL,命令参数集合,SqlCommand,对象的方法,方 法,说 明,Cancel(),取消,Comand,对象的执行,CreateParameter,创建,Parameter,对象,ExecuteNonQuery,(),执行,CommandText,属性指定的内容,返回数据表被影响的行数。只有,Update,、,Insert,和,Delete,命令会影响行数。该方法用于执行对数据库的更新操作,ExecuteReader,(),执行,CommandText,属性指定的内容,返回,DataReader,对象,DataAdapter,对象,DataAdapter,对象是数据库与,DataSet,对象之间沟通的桥梁,它可以传递各种,SQL,命令,并将命令执行结果填入,DataSet,对象,还可将数据集(,DataSet,)对象更改过的数据写回数据源。,使用,DataAdapter,对象通过数据集访问数据库是,ADO.NET,模型的主要方式。,SqlDataAdapter,对象的属性,属 性,说 明,DeleteCommand,获取或设置删除数据源中的数据行的,SQL,命令。该值为,Command,对象,InsertCommand,获取或设置向数据源中插入数据行的,SQL,命令。该值为,Command,对象,SelectCommand,获取或设置查询数据源的,SQL,命令。该值为,Command,对象,UpdateCommand,获取或设置更新数据源中的数据行的,SQL,命令。该值为,Command,对象,SqlDataAdapter,对象的方法,方 法,说 明,Fill(dataset,srcTable,),将数据集的,SelectCommand,属性指定的,SQL,命令执行后所选取的数据行置入参数,dataSet,指定的,DataSet,对象,Update(dataset,srcTable,),调用,InsertCommand,、,UpdateCommand,或,DeleteCommand,属性指定的,SQL,命令,将,DataSet,对象更新到相应的数据源。参数,dataSet,指定要更新到数据源的,DataSet,对象,,srcTable,参数为数据表对应的来源数据表名。该方法的返回值为影响的行数,SqlDataAdapter,对象的事件,事 件,说 明,FillError,调用,DataAdapter,的,Fill(),方法时,若发生错误,则触发该事件,RowUpdated,当调用,Update(),方法并执行完,SQL,命令时,会触发该事件,RowUpdating,当调用,Update(),方法、在开始执行,SQL,命令时,会触发该事件,SqlDataAdapter,对象的更新操作,使用,DataAdapter,对象对数据进行更新的操作分为,3,个步骤:,创建,DataAdapter,对象并设置,UpdateCommand,等属性;,指定更新操作;,调用,DataAdapter,对象的,Update(),方法执行更新。,8.6.3 C#,数据库应用系统开发案例,本节结合商品订购管理系统来介绍使用,Visual C#,开发,SQL Server 2005,数据库应用程序的过程。,该系统的主要功能描述和设计已在,8.5.3,节中详细讨论了。,在此增加用户登录功能。用户使用本系统,需要先登录,通过系统验证后,才能进入系统。,用户登录模块,在,SPDG,数据库中增加,USERS,表,包含以下两个字段:,Name VARCHAR(20),不允许为空,Passwd,VARCHAR(20),不允许为空,登录界面,:,用户登录模块,登录窗体所包含的控件及对象属性,:,组 件 类 型,组 件 名,属 性 名,设 置 值,Form,Form1,Text,登录窗口,Label,Label1,Text,用户名,Label,Label2,Text,密码,TextBox,TxtUser,TextBox,TxtPass,PasswordChar,*,Button,BtnOK,Text,确定,Button,BtnExit,Text,退出,主界面,主界面,:,DBConnect,类的创建,因程序中大多数模块都要使用数据连接,因此创建一个,DBConnect,类,其中包含对数据库的操作。,为简单起见,仅为该类创建一个方法,con,,其功能是创建一个到数据库的连接。程序代码如下:,class,DBConnect,public static,SqlConnection,con(),String,ConStr,=server=HOME-679B5B9580SQL2005;,uid,=,sa;pwd,=123;database=SPDG;,return new,SqlConnection(ConStr,);/,创建连接并返回,客户数据维护模块,客户数据维护模块实现客户数据的增、删、改。,订单数据录入模块,订单数据录入模块实现订单数据的录入,。,订单数据查询模块,订单数据查询模块实现订单数据的条件查询,。,
展开阅读全文