资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
EBUEBU客开管理总部客开管理总部 20102010年年0505月月0707日日U8二次开发基础讲解二次开发基础讲解讲演主题讲演主题VBVB应用讲解应用讲解XMLXML应用讲解应用讲解SQL SeverSQL Sever应用讲解应用讲解VB应用讲解VBVB文件介绍文件介绍窗体文件窗体文件(*.Frm*.Frm)类文件类文件(*.Cls*.Cls)模块文件模块文件(*.Bas*.Bas)自定义控件自定义控件(*.Ctl*.Ctl)属性页文件属性页文件(*.Pag*.Pag)窗体资源文件窗体资源文件(*.Frx*.Frx)资源文件资源文件(*.Res*.Res)工程文件工程文件(*.Vbp*.Vbp)工程组文件工程组文件(*.Vbg*.Vbg)工程配置文件工程配置文件(*.Vbw*.Vbw)代码管理文件代码管理文件(*.Scc*.Scc)日志文件日志文件(*.Log*.Log)VB应用讲解(Frm)VERSION 5.00VERSION 5.00Begin VB.Form Form1 Begin VB.Form Form1 Caption = Form1 Caption = Form1 ClientHeight = 3195 ClientHeight = 3195 ClientLeft = 60 ClientLeft = 60 ClientTop = 345 ClientTop = 345 ClientWidth = 4680 ClientWidth = 4680 LinkTopic = Form1 LinkTopic = Form1 ScaleHeight = 3195 ScaleHeight = 3195 ScaleWidth = 4680 ScaleWidth = 4680 StartUpPosition = 3 StartUpPosition = 3 窗口缺省窗口缺省 Begin VB.CommandButton cmdCreateXML Begin VB.CommandButton cmdCreateXML Caption = CreateXml Caption = CreateXml Height = 495 Height = 495 Left = 1680 Left = 1680 TabIndex = 1 TabIndex = 1 Top = 1920 Top = 1920 Width = 1455 Width = 1455 End EndEndEndAttribute VB_Name = Form1Attribute VB_Name = Form1Attribute VB_GlobalNameSpace = FalseAttribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseAttribute VB_Exposed = FalseVB应用讲解(规范)强制显式声明模块中的所有变量强制显式声明模块中的所有变量Option ExplicitOption Explicit变量一定要在前面声明变量一定要在前面声明Private Sub cmdCreateXML_Click() Private Sub cmdCreateXML_Click() Dim oEle As IXMLDOMElement Dim oEle As IXMLDOMElement Dim oRoot As IXMLDOMElement Dim oRoot As IXMLDOMElement Dim oNode As IXMLDOMNode Dim oNode As IXMLDOMNode注意缩进注意缩进Xml Xml 标准元素标准元素XmlXml 根节点根节点Xml Xml 标准节点标准节点If A = B Then A = A + 1End IFWhile A 100 A = A + 1WendFor i = 1 to 100 A = A + 1NextPrivate Sub Test() Msgbox “This is a test sub”NextSelect Case Val(x) Case 1 Print “Value Is 1”End Select适当的换行适当的换行Private Sub cmdCreateXML_Click() Private Sub cmdCreateXML_Click() Dim oEle As IXMLDOMElement Dim oEle As IXMLDOMElement Do Code Do CodeEnd SubEnd SubPrivate Sub AnotherSubPrivate Sub AnotherSub降低断行标示降低断行标示“_ _”的使用频度,脚本换行增加换行标示的使用频度,脚本换行增加换行标示sSql = sSql = “Select * From TableSelect * From Table” ” & & _ _ “Where Code =1001” “Where Code =1001”sSql = sSql = “Select * From TableSelect * From Table”& VbCrlf& VbCrlfsSql = sSql &“Where Code =1001”sSql = sSql &“Where Code =1001”VB应用讲解(规范)每个函数段最好不要超过每个函数段最好不要超过3030行行Private Sub cmdCreateXML_Click() Private Sub cmdCreateXML_Click() Dim oEle As IXMLDOMElement Dim oEle As IXMLDOMElement Do Code Do CodeEnd SubEnd Sub3030VB应用讲解(规范)获取获取XmlXml节点属性值节点属性值Private Function GetXmlAttr(Byref eItem As Private Function GetXmlAttr(Byref eItem As XmlElementXmlElement, Byval sName as String) As String, Byval sName as String) As String On Error Goto ErrExist On Error Goto ErrExist Dim vValue As Variant Dim vValue As Variant 获取的获取的XmlXml属性值属性值 vValuevValue = eItem.GetAttribute = eItem.GetAttribute(sName)sName) If IsNull(vValue) Then If IsNull(vValue) Then 判断该属性是否存在判断该属性是否存在 GetXmlAttr = “” GetXmlAttr = “” 不存在,返回空串不存在,返回空串 Else Else GetXmlAttr = vValue GetXmlAttr = vValue Endif EndifErrExist:ErrExist: GetXmlAttr = “ GetXmlAttr = “” ” 取数失败,返回空串取数失败,返回空串End Function End Function 足够的足够的注释信注释信息息最好有错误处理,最好有错误处理,最好不要用最好不要用On On Error Resum Error Resum NextNext业务场景考虑全面,业务场景考虑全面,避免实时错误避免实时错误声明参数是按地声明参数是按地址传入还是数值址传入还是数值功能单一,就干一件事情功能单一,就干一件事情讲演主题讲演主题VBVB应用讲解应用讲解XMLXML应用讲解应用讲解SQL SeverSQL Sever应用讲解应用讲解NodeNode节点,类似于数组,有文本属性节点,类似于数组,有文本属性ElementElement 元素,带属性的节点元素,带属性的节点Attribute Attribute 属性,类似于集合,不可重复属性,类似于集合,不可重复TextText文本,不具备任何扩展属性文本,不具备任何扩展属性备注备注!- DocumentElement DocumentElement 根节点,根节点,DomDom只可以有只可以有一个根节点,该节点为一个根节点,该节点为ElementElement属性属性XML应用讲解XMLXML介绍介绍XML应用讲解XMLXML介绍介绍 节点节点SelectSingleNodeSelectSingleNodeselectNodesselectNodesfirstChildfirstChildlastChildlastChildnextSiblingnextSiblingappendChildappendChildremoveChildremoveChildtexttextXML应用讲解XMLXML介绍介绍 属性属性attributesattributesgetAttributeNodegetAttributeNodegetAttributegetAttributesetAttributesetAttributeremoveAttributeremoveAttributetexttextXML应用讲解字符字符转义转义“"'>&XMLXML字符转义字符转义有些特殊字符无法在有些特殊字符无法在XmlXml中直接保存,会使用转义字符进行描述。中直接保存,会使用转义字符进行描述。该描述会影响该描述会影响XMLXML的保存内容,但是显示仍然会按照原始内容显示,的保存内容,但是显示仍然会按照原始内容显示,而非转义内容。而非转义内容。VBVB中对属性等赋值取数直接使用特殊字符,只是影响中对属性等赋值取数直接使用特殊字符,只是影响XmlXml的保存文的保存文件。件。但是如果对但是如果对XmlXml的的XmlXml属性直接操作时就是转义字符了。属性直接操作时就是转义字符了。XML应用讲解XPathXPath使用使用“/ /”进行路径操作,如:进行路径操作,如:Nd/Itm/NameNd/Itm/Name使用使用“”进行谓词判断,如:进行谓词判断,如:NdItm/NameNdItm/Name使用使用“ ”对属性进行判断,如:对属性进行判断,如:ItemName = aItemName = a使用使用“/”获取获取domdom全路径下的所有节点内容全路径下的所有节点内容使用使用“* *”进行模糊匹配进行模糊匹配XMLXML严格区分大小写,书写时一定要注意严格区分大小写,书写时一定要注意XML应用讲解SchemaSchemaxml xmlns:s=uuid:XXX xmlns:dt=uuid:XXX xmlns:rs=urn:schemas-microsoft-com:rowset xmlns:z=#RowsetSchemas:AttributeType name=cCode rs:number=1 rs:nullable=true rs:basetable=PO rs:basecolumn=cPOID 讲演主题讲演主题VBVB应用讲解应用讲解XMLXML应用讲解应用讲解SQL SeverSQL Sever应用讲解应用讲解SQL应用讲解系统数据库和系统表系统数据库和系统表MasterMastermastermaster是数据库的最重要的数据库,联系着其他是数据库的最重要的数据库,联系着其他的数据库,并记录着用户数据!相当于超级管理员的账户的数据库,并记录着用户数据!相当于超级管理员的账户ModelModel 模版数据库模版数据库MsdbMsdb Sql Sql内部使用,一般用于计划作业和数据库邮件内部使用,一般用于计划作业和数据库邮件tempdbtempdb临时数据库临时数据库pubspubs示范数据库示范数据库Sysobjects Sysobjects 数据库对象表数据库对象表SyscolumnsSyscolumns数据库对象字段表数据库对象字段表sysProcesses(master)sysProcesses(master)数据库系统进程数据库系统进程SQL应用讲解常用对象常用对象数据表数据表标准前缀:标准前缀:EF_EF_项目项目_XXXX _XXXX 或或 EF_EF_项目项目_T_XXXX_T_XXXX字段字段视图视图标准前缀:标准前缀: EF_EF_项目项目_V_XXXX_V_XXXX存储过程存储过程标准前缀:标准前缀: EF_EF_项目项目_P_XXXX_P_XXXX函数函数标准前缀:标准前缀: EF_EF_项目项目_F_XXXX_F_XXXX触发器触发器标准前缀:标准前缀: EF_EF_项目项目_Tri_XXXX_Tri_XXXX自定义变量自定义变量索引索引标准前缀:标准前缀: EF_EF_项目项目_IX_XXXX_IX_XXXX约束约束标准前缀:标准前缀: EF_EF_项目项目_CK_XXXX_CK_XXXXSQL应用讲解常用命令常用命令SP_Who SP_Who 检查进程检查进程SP_LockSP_Lock检查锁检查锁Kill Sp_IDKill Sp_ID 删除进程删除进程DBCC InputBuffer(SP_ID)DBCC InputBuffer(SP_ID)检查进程内容检查进程内容DBCC SHRINKDATABASE DBCC SHRINKDATABASE 收缩数据库收缩数据库DBCC SHRINKDBDBCC SHRINKDB收缩数据库收缩数据库DBCC SHRINKFILEDBCC SHRINKFILE收缩数据和日志文件收缩数据和日志文件DBCC SHOWCONTIG DBCC SHOWCONTIG 扫描表密度扫描表密度DBCC REINDEX DBCC REINDEX 重建数据库索引重建数据库索引DBCC INDEXDEFRAG DBCC INDEXDEFRAG 重建数据库索引重建数据库索引SQL应用讲解常用命令常用命令Select Top 10 * From XXX With(nolock) Where XX = YYSelect Top 10 * From XXX With(nolock) Where XX = YYSumSumMaxMaxMinMinAvgAvgGroup By xx,yyGroup By xx,yyHaving Sum(xx)10000Having Sum(xx)10000Union (All)Union (All)Insert Into A (a,b,c) Values(a,b,c)Insert Into A (a,b,c) Values(a,b,c)Delete A Where a = aDelete A Where a = aSelect A.* Into #A Where a = aSelect A.* Into #A Where a = aLeft JoinLeft JoinRight JoinRight JoinInner JoinInner JoinFull JoinFull JoinCross JoinCross Join (Select * From A,B)(Select * From A,B)Select A.VouchCode, A.VouchName, B.Code, C.Name, B.Num, B.MoneySelect A.VouchCode, A.VouchName, B.Code, C.Name, B.Num, B.MoneyFrom A With(nolock)From A With(nolock)Left Join B With(nolock) ON A.ID = B.IDLeft Join B With(nolock) ON A.ID = B.IDINNER Join C With(nolock) ON A.ID = C.ID And B.Code = C.CodeINNER Join C With(nolock) ON A.ID = C.ID And B.Code = C.CodeWhere A.VouDate Between 2010-5-1 And 2010-5-31Where A.VouDate Between 2010-5-1 And 2010-5-31Set SQL = Set SQL = Select A.VouchCode, A.VouchName, B.Code, C.Name+Select A.VouchCode, A.VouchName, B.Code, C.Name+From A +From A +Left Join B ON A.ID = B.ID +Left Join B ON A.ID = B.ID +INNER Join C ON A.ID = C.ID And B.Code = C.Code+INNER Join C ON A.ID = C.ID And B.Code = C.Code+Where A.VouDate Between 2010-5-1 And 2010-5-31Where A.VouDate Between 2010-5-1 And 2010-5-31SQL应用讲解编写规范编写规范尽量不要超尽量不要超过五层过五层关键字前换行关键字前换行Set SQL = Select A.VouchCode, A.VouchName, B.Code, C.NameSet SQL = Select A.VouchCode, A.VouchName, B.Code, C.NameFrom AFrom ALeft Join B ON A.ID = B.IDLeft Join B ON A.ID = B.IDINNER Join C ON A.ID = C.ID And B.Code = C.CodeINNER Join C ON A.ID = C.ID And B.Code = C.CodeWhere A.VouDate Between 2010-5-1 And 2010-5-31Where A.VouDate Between 2010-5-1 And 2010-5-31SQLSQL变量赋值尽量不要拼很多的串变量赋值尽量不要拼很多的串使用脏读使用脏读减少前后台交互次数减少前后台交互次数没有必要的数据不要取到前台没有必要的数据不要取到前台避免客户端海量运算避免客户端海量运算减少减少ININ的使用的使用避免使用避免使用UnionUnion脚本中尽量避免使用游标(尤其不能游标嵌套)脚本中尽量避免使用游标(尤其不能游标嵌套)存储过程功能清晰,减少业务分支查询,降低预编译时间存储过程功能清晰,减少业务分支查询,降低预编译时间关键业务字段使用索引处理关键业务字段使用索引处理多使用整形数据判断,避免布尔值判断多使用整形数据判断,避免布尔值判断整理数据表碎片,提升索引效率整理数据表碎片,提升索引效率SQL应用讲解效率问题效率问题索引失效索引失效比较字段数据类型转换或运算比较字段数据类型转换或运算比较字段内容少于组合索引内容比较字段内容少于组合索引内容对对NullNull值进行比较值进行比较比较字段表内内容比较一致,系统没有建立索引比较字段表内内容比较一致,系统没有建立索引使用使用“”来进行索引字段比较来进行索引字段比较使用使用“ININ”来进行条件处理来进行条件处理索引表不连续,跨页检索索引表不连续,跨页检索SQL应用讲解SQLSQL变量拼接时会向定义最严格的类型进行转换变量拼接时会向定义最严格的类型进行转换组织视图时避免使用组织视图时避免使用* *来降低工作量来降低工作量使用中间表处理时使用中间表处理时, ,临时用表应该判断是否存在临时用表应该判断是否存在创建表和视图时创建表和视图时, ,一定要判断是否已经存在一定要判断是否已经存在注意注意NullNull常见错误常见错误ABCabcXYZxyzT1T1T2T2ABCXYZabcxyzV1V1CREATE View V1 ASCREATE View V1 ASSelect T1.*,T2.* From T1,T2Select T1.*,T2.* From T1,T2ABCDabcdABCXYZabcdxyDeclare sValue nvarchar(50)Declare sValue nvarchar(50)Set sValue = Set sValue = ABCABC Select sValue = Name From A Where 1 = 2Select sValue = Name From A Where 1 = 2Set sValue = (Select Name From A Where 1 = 2)Set sValue = (Select Name From A Where 1 = 2)SQL应用讲解NULLNULLNullNull不可以使用不可以使用“=”“=”来判断,只能使用来判断,只能使用“ISIS”NullNull和任何值比较都会返回和任何值比较都会返回“FalseFalse”(开关:(开关:Set ANSI_NULLS OFFSet ANSI_NULLS OFF)Case WhenCase WhenCase When a = 1 Then 3 Else Case When a = 2 Then 4 End EndCase When a = 1 Then 3 Else Case When a = 2 Then 4 End EndCase a When 1 Then 3 When 2 Then 4 EndCase a When 1 Then 3 When 2 Then 4 End= =ABCABCNullNull空记录集空记录集SQL应用讲解事件探查器事件探查器默认事件:默认事件:Sql 2000Sql 2000Audit Login,Audit Login,Audit Logout,Audit Logout,ExistingConnectingExistingConnectingRPC:completedRPC:completedSQL:BatchCompleted,SQL:BatchCompleted,Sql 2005Sql 2005Sql 2008Sql 2008Audit Login,Audit Login,Audit Logout,Audit Logout,ExistingConnectingExistingConnectingRPC:completedRPC:completedSQL:BatchStartingSQL:BatchStartingSQL:BatchCompleted,SQL:BatchCompleted,常用事件:常用事件:RPC:StartingRPC:StartingRPC:completed,RPC:completed,SQL:BatchStarting SQL:BatchStarting SQL:BatchCompletedSQL:BatchCompletedSP:StmtStartingSP:StmtStartingSP:stmtCompletedSP:stmtCompleted
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号