一、引言
SQL Server是微软推出的中小型网络数据库系统,是目前最常用的数据库系统之一。随着SQL Server网络数据库应用程序日益增多,这种Web数据库应用系统的正常运行一般依赖于已存在的用户数据库。创建维护数据库的工作可用SQL Server提供的SQL EntERPrise Manager工具来进行,如能提供一种定制的数据库管理工具,通过管理应用程序来管理数据库及其设备,对用户来说无疑是最理想的。
Visual Basic作为一种面向对象的可视化编程工具,具有简单易学,灵活方便和易于扩充的特点。而且Microsoft为其提供了与SQL Server通信的API函数集及工具集,因此它越来越多地用作大型公司数据和客户机—服务器应用程序的前端,与后端的Microsoft SQL Server相结合,VB能够提供一个高性能的客户机—服务器方案。
二、VB访问SQL Server数据的常用方法
使用Visual Basic作为前端开发语言,与SQL Server接口有几种常用的方法,即:
①数据访问对象/Jet
②为ODBC API编程
③使用SQL Server的Visual Basic库(VBSQL)为DB库的API编程
④RDO 远程数据对象(RemoteData Objects)
⑤ADO 数据对象(Active Data Objects)
1、数据访问对象/Jet
VB支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能的管理客户机—服务器之间的对话方式,但它的确有许多优点。DAO/Jet是为了实现从VB访问Access数据库而开发的程序接口对象。使用DAOs访问SQL Server的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200DLL)优化查询,载入驱动程序管理器并与之通讯,驱动程序管理器(ODBCDLL)通过调用驱动器(SQLSRVRDLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL语句且返回结果。下面是一个用DAOs访问SQL Server的VB实例。
注释:Form Declarations
Dim mydb As Database
Dim mydynaset As Dynaset オ
Private Sub Form_Load()
Set mydb = OpenDatabase("", False, False, "ODBC; DSN=Myserver; WSID=LCL; DATABASE = sales")
Set mydynaset = mydb CreateDynaset("Selectfrom Customers") オ
End Sub ァ
上述例子是以非独占、非只读方式打开sales数据库,并检索Customers表中的所有字段。OpenDatabase函数的最后一个参数是ODBC连接字符串参数,它指明了Microsoft Access连接到SQL Server所需要知道的一些内容。其中“DSN”为数据源名,“WSID”为工作站名,“DATABASE”为所要访问的数据库名。
2、利用ODBC API编程
ODBC(Open Database Connectivity)的思想是访问异种数据库的一种可移植的方式。与数据资源对话的公用函数组装在一个称为驱动程序管理器(ODBCDLL)的动态连接中。应用程序调用驱动程序管理器中的函数,而驱动程序管理器反过来通过驱动器(SQLSRVRDLL)把它们送到服务器中。
下面的代码使用上面一些函数先登录到一个服务器数据库,并为随后的工作设置了语句句柄。
Global giHEnv As Long
Global giHDB As Long
Global giHStmt As Long
Dim myResult As integer
Dim myConnection As Srting
Dim myBuff As String256
Dim myBufflen As Integer
If SQLAllocEnv(giHEnv)>SQL_SUCCESS Then
MsgBox"Allocation couldn注释:t happen!"
End If
If SQLAllocConnect(giHEnv,giHDB)>SQL_SUCCESS Then
MsgBox "SQL Server couldn注释:t connect!"
End If
myConnection="DSN=myServer;UID=LCL;PWD=;APP=ODBCTest;WSID=LCL;DATABASE=sales"
myResult=SQLDriverConnect(giHDB,Test,form1hWnd,myConnectionlen(myConnection),myBuff,256,myBufflen,SQL_DRIVER_COMPLETE_REQU IE D)
myResult=SQLAllocStmt(giHDS,giHStmt)
myResult=SQLFreeStmt(giHStmt,SQL_COLSE)
rsSQL="Select from Customers Where City = "Hunan""
myResult = SQLExecDirect(giHStmt,rsSQL,Len(rsSQL))public sub: 表示所有模块的所有其它过程都可访问这个 Sub 过程。private Sub: 表示只有在包含其声明的模块中的其它过程可以访问该 Sub 过程。Sub前面不加的时候实际是省略了Public。Vuejs很简单。正因为如此简单,人们常常认为其适合于小项目。虽然真正的Vuejs核心知识只是一个视图层库,实际上有一组工具,将使您能够使用Vuejs构建完整的大规模SPA(单页应用程序)。 SPA应用可以在不完全重新加载网页,产生一个更流畅的用户体验到的用户交互响应。还有好的副作用,SPA还鼓励后端专注于展示数据端点,这使得整体架构更加分离,并且对于其他类型的客户端可能是可重用的。 从开发人员的角度来看,SPA和传统的后端呈现应用程序之间的主要区别是,我们必须将客户端视为具有自己架构的应用程序。通常,我们需要处理路由,数据获取和持久性,查看渲染和必要的构建设置,以便于模块化代码库。 对于基于Vuejs的SPA,下面工具将帮助你: 1视图层:Vuejs 2路由:vue-router,Vue的官方路由器 3状态管理:vuex,受Flux/Redux启发的状态管理解决方案 4服务通讯:vue-resource这是和RESTful后端交互的接口 5构建工具:Webpack和vue-loader进行模块 热刷新ES2015和预处理器等重要的组件 视图层 本系列假设您已经熟悉Vuejs的基础知识,将Vuejs用于大型SPA时的核心概念是:将应用程序分为许多嵌套的自定义组件。在数据流的组件熟悉props和通讯定义事件直接进行平衡设计,将复杂组件切分为小型解耦的单元,更易于维护。 路由器 官方VUE路由器库处理客户端的路由,同时支持哈希模式和HTML5的历史模式。它与独立路由库有点不同,它与Vuejs深度集成,并假设我们将嵌套路由映射到嵌套Vue组件。 当使用vue-router时,我们将组件作为“pages”实现,使用这些组件能够实现党路由变化时,钩子函数被调用。 状态管理 状态管理是只有当应用程序复杂性超过一定水平时才出现。当有多个组件需要共享可变的应用程序状态时,如果您的应用程序中没有专用于管理此类共享状态的层,则可能很难推理和维护。 服务器通信 在本案例中,我们会使用RESful后端,这是一个Go语言编写的 go-vue-event项目 构建工具 首先,整个编译工具链依靠的Nodejs ,管理所有使用库包和工具依赖NPM 。 虽然NPM开始是Nodejs后端模块的包管理器,但它现在也广泛用于前端包管理。 因为所有NPM包是使用CommonJS模块格式创建的,我们需要一个特殊的工具将这些模块“捆绑”到适合最终部署的文件中。 Webpack就是这样一个工具,你可能也听说过一个类似的工具Browserify。 我们将使用Webpack的系列,因为它提供了更多的高级功能开箱即用,如热重新加载,bundle-splitting和静态文件处理。 无论WebPACK中和Browserify它们暴露的API,使我们能够装载更多的CommonJS的模块:例如,我们可以直接require()的HTML文件通过将其转化成一个JavaScript字符串。 通过将你的前端的一切,包括HTML,CSS甚至图像文件看作为模块依赖,可以在捆绑过程中任意转换,Webpack实际上涵盖了构建SPA时遇到的大多数构建任务。 我们主要是要使用WebPACK和普通 NPM脚本 ,而不需要 任务运行器如Gulp或Grunt。 使用vue-loader 激活单页中Vue组件: //appvue <template> <h1 class="red">{{msg}}</h1> </template> export default{ data(){ return{ msg:'Hello world!' } } } <style> red{ color:#f00; } </style> WebPACK和vue-loader组合能带来: : 1默认情况下ES2015。 这允许我们今天使用未来的JavaScript语法,产生更具表达性和简洁的代码。 2预埋处理器 。 您可以在单文件Vue组件中使用预处理器,例如使用Jade作为模板,使用SASS作为样式。 3Vue组件内部CSS输出将自动加前缀。 您也可以使用任何PostCSS插件,如果你喜欢。 4作用域CSS。 通过增加一个scoped属性添加到<style> ,VUE-loader将通过重写模板和样式模拟输出,特定组件的范围内的CSS不会影响应用程序的其他部分。 5热刷新 。在开发过程中编辑Vue组件时,组件将“热切换”到正在运行的应用程序中,在不重新加载页面的情况下维护应用程序状态。 这极大地提高了开发体验。 开始设置 现在有了所有这些花哨的功能,对于自己组装构建栈可能是一个非常艰巨的任务! 幸运的是,Vue公司提供vue-cli ,一个命令行界面,十分容易上手: npm install -g vue-cli vue init webpack my-project 回答提示,CLI具有开箱即用特点。 所有你需要做的下一步是: cd my-project npm install # install dependencies npm run dev # start dev server at localhost:8080 以上所述是小编给大家介绍的使用Vuejs创建一个时间跟踪的单页应用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)