版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、U8二次开发基础讲解二次开发基础讲解讲演主题讲演主题VBVB应用讲解应用讲解XMLXML应用讲解应用讲解SQL SeverSQL Sever应用讲解应用讲解VBVB文件介绍文件介绍窗体文件窗体文件(* *.Frm.Frm)类文件类文件(* *.Cls.Cls)模块文件模块文件(* *.Bas.Bas)自定义控件自定义控件(* *.Ctl.Ctl)属性页文件属性页文件(* *.Pag.Pag)窗体资源文件窗体资源文件(* *.Frx.Frx)资源文件资源文件(* *.Res.Res)工程文件工程文件(* *.Vbp.Vbp)工程组文件工程组文件(* *.Vbg.Vbg)工程配置文件工程配置文件(
2、* *.Vbw.Vbw)代码管理文件代码管理文件(* *.Scc.Scc)日志文件日志文件(* *.Log.Log)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 Link
3、Topic = 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 =
4、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_P
5、redeclaredId = TrueAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseAttribute VB_Exposed = False强制显式声明模块中的所有变量强制显式声明模块中的所有变量Option ExplicitOption Explicit变量一定要在前面声明变量一定要在前面声明Private Sub cmdCreateXML_Click() Private Sub cmdCreateXML_Click() Dim oEle As IXMLDOMElement Dim oEle As IXMLDOMEl
6、ement 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”NextSe
7、lect 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降低断行标示降低断行标示“_ _”的使用频度,脚本换行增加换行标示的使用频度,脚本换行增加
8、换行标示sSqlsSql = = “Select Select * * From Table From Table” ” & & _ _ “Where Code =1001” “Where Code =1001”sSqlsSql = = “Select Select * * From Table From Table”& & VbCrlfVbCrlfsSqlsSql = = sSqlsSql &“Where Code =1001” &“Where Code =1001”VB应用讲解(规范)每个函数段最好不要超过每个函数段最好不要超过3030行行P
9、rivate Sub cmdCreateXML_Click() Private Sub cmdCreateXML_Click() Dim oEle As IXMLDOMElement Dim oEle As IXMLDOMElement Do Code Do CodeEnd SubEnd Sub3030获取获取XmlXml节点属性值节点属性值Private Function Private Function GetXmlAttrGetXmlAttr( (ByrefByref eItemeItem As As XmlElementXmlElement, , ByvalByval sNamesNa
10、me as String) As String as String) As String On Error On Error GotoGoto ErrExistErrExist Dim Dim vValuevValue As Variant As Variant 获取的获取的XmlXml属性值属性值 vValuevValue = = eItem.GetAttributeeItem.GetAttribute(sNamesName) ) If If IsNullIsNull( (vValuevValue) Then ) Then 判断该属性是否存在判断该属性是否存在 GetXmlAttrGetXm
11、lAttr = “” = “” 不存在,返回空串不存在,返回空串 Else Else GetXmlAttrGetXmlAttr = = vValuevValue EndifEndifErrExistErrExist: : GetXmlAttrGetXmlAttr = “ = “” ” 取数失败,返回空串取数失败,返回空串End Function End Function 足够的足够的注释信注释信息息最好有错误处理,最好有错误处理,最好不要用最好不要用On On Error Error ResumResum NextNext业务场景考虑全面,业务场景考虑全面,避免实时错误避免实时错误声明参数是按
12、地声明参数是按地址传入还是数值址传入还是数值功能单一,就干一件事情功能单一,就干一件事情讲演主题讲演主题VBVB应用讲解应用讲解XMLXML应用讲解应用讲解SQL SeverSQL Sever应用讲解应用讲解NodeNode节点,类似于数组,有文本属性节点,类似于数组,有文本属性ElementElement 元素,带属性的节点元素,带属性的节点Attribute Attribute 属性,类似于集合,不可重复属性,类似于集合,不可重复TextText文本,不具备任何扩展属性文本,不具备任何扩展属性备注备注!- DocumentElement DocumentElement 根节点,根节点,Do
13、mDom只可以有只可以有一个根节点,该节点为一个根节点,该节点为ElementElement属性属性XMLXML介绍介绍XMLXML介绍介绍 节点节点SelectSingleNodeSelectSingleNodeselectNodesselectNodesfirstChildfirstChildlastChildlastChildnextSiblingnextSiblingappendChildappendChildremoveChildremoveChildtexttextXMLXML介绍介绍 属性属性attributesattributesgetAttributeNodegetAttri
14、buteNodegetAttributegetAttributesetAttributesetAttributeremoveAttributeremoveAttributetexttextXMLXML字符转义字符转义有些特殊字符无法在有些特殊字符无法在XmlXml中直接保存,会使用转义字符进行描述。中直接保存,会使用转义字符进行描述。该描述会影响该描述会影响XMLXML的保存内容,但是显示仍然会按照原始内容显的保存内容,但是显示仍然会按照原始内容显示,而非转义内容。示,而非转义内容。VBVB中对属性等赋值取数直接使用特殊字符,只是影响中对属性等赋值取数直接使用特殊字符,只是影响XmlXml的保
15、存的保存文件。文件。但是如果对但是如果对XmlXml的的XmlXml属性直接操作时就是转义字符了。属性直接操作时就是转义字符了。XPathXPath使用使用“/ /”进行路径操作,如:进行路径操作,如:Nd/Itm/NameNd/Itm/Name使用使用“ ”进行谓词判断,如:进行谓词判断,如:NdItm/NameNdItm/Name使用使用“”对属性进行判断,如:对属性进行判断,如:ItemName = aItemName = a使用使用“/”获取获取domdom全路径下的所有节点内容全路径下的所有节点内容使用使用“* *”进行模糊匹配进行模糊匹配XMLXML严格区分大小写,书写时一定要注意
16、严格区分大小写,书写时一定要注意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应用讲解应用讲解系统数据库和系统表系统数据库和系统表
17、MasterMastermastermaster是数据库的最重要的数据库,联系着其他是数据库的最重要的数据库,联系着其他的数据库,并记录着用户数据!相当于超级管理员的账户的数据库,并记录着用户数据!相当于超级管理员的账户ModelModel 模版数据库模版数据库MsdbMsdb Sql Sql内部使用,一般用于计划作业和数据库邮件内部使用,一般用于计划作业和数据库邮件tempdbtempdb临时数据库临时数据库pubspubs示范数据库示范数据库Sysobjects Sysobjects 数据库对象表数据库对象表SyscolumnsSyscolumns数据库对象字段表数据库对象字段表sysPr
18、ocesses(master)sysProcesses(master)数据库系统进程数据库系统进程常用对象常用对象数据表数据表标准前缀:标准前缀: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自定义变量自定义
19、变量索引索引标准前缀:标准前缀: EF_EF_项目项目_IX_XXXX_IX_XXXX约束约束标准前缀:标准前缀: EF_EF_项目项目_CK_XXXX_CK_XXXX常用命令常用命令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收缩数
20、据库收缩数据库DBCC SHRINKFILEDBCC SHRINKFILE收缩数据和日志文件收缩数据和日志文件DBCC SHOWCONTIG DBCC SHOWCONTIG 扫描表密度扫描表密度DBCC REINDEX DBCC REINDEX 重建数据库索引重建数据库索引DBCC INDEXDEFRAG DBCC INDEXDEFRAG 重建数据库索引重建数据库索引常用命令常用命令Select Top 10 Select Top 10 * * From XXX With(nolock) Where XX = YY From XXX With(nolock) Where XX = YYSumS
21、umMaxMaxMinMinAvgAvgGroup 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.Select A.* * Into #A Where a = a Into #A Where a = aLeft JoinLeft JoinRig
22、ht JoinRight JoinInner JoinInner JoinFull JoinFull JoinCross JoinCross Join (Select (Select * * From A,B) 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(nolo
23、ck) 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.Vo
24、uchCode, 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-31W
25、here A.VouDate Between 2010-5-1 And 2010-5-31编写规范编写规范尽量不要超尽量不要超过五层过五层关键字前换行关键字前换行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 =
26、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脚本中尽量避免使用游标(尤其不能游标嵌套)
27、脚本中尽量避免使用游标(尤其不能游标嵌套)存储过程功能清晰,减少业务分支查询,降低预编译时间存储过程功能清晰,减少业务分支查询,降低预编译时间关键业务字段使用索引处理关键业务字段使用索引处理多使用整形数据判断,避免布尔值判断多使用整形数据判断,避免布尔值判断整理数据表碎片,提升索引效率整理数据表碎片,提升索引效率效率问题效率问题索引失效索引失效比较字段数据类型转换或运算比较字段数据类型转换或运算比较字段内容少于组合索引内容比较字段内容少于组合索引内容对对NullNull值进行比较值进行比较比较字段表内内容比较一致,系统没有建立索引比较字段表内内容比较一致,系统没有建立索引使用使用“”来进行索引
28、字段比较来进行索引字段比较使用使用“ININ”来进行条件处理来进行条件处理索引表不连续,跨页检索索引表不连续,跨页检索SQLSQL变量拼接时会向定义最严格的类型进行转换变量拼接时会向定义最严格的类型进行转换组织视图时避免使用组织视图时避免使用* *来降低工作量来降低工作量使用中间表处理时使用中间表处理时, ,临时用表应该判断是否存在临时用表应该判断是否存在创建表和视图时创建表和视图时, ,一定要判断是否已经存在一定要判断是否已经存在注意注意NullNull常见错误常见错误T1T1T2T2V1V1CREATE View V1 ASCREATE View V1 ASSelect T1.Select
29、 T1.* *,T2.,T2.* * From T1,T2 From T1,T2Declare sValue nvarchar(50)Declare sValue nvarchar(50)Set sValue = Set sValue = ABCABCSelect 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)NULLNU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑项目钢材订购合同格式
- 无抵押个人贷款合同格式
- 货物采购与运输合同
- 广告屏出租合同案例分析
- 中铝安全管理
- 《电镀废水处理技术》课件
- 导尿管护理案例分析
- 医院危险化学品应急能力培训
- 生物餐饮管理培训课件
- dxy肝癌的介入治疗
- 智能治理:提高政府决策的准确性和效率
- 2024年滴眼剂市场份额分析:全球滴眼剂市场销售额达到了4.89亿美元
- 2023-2024学年广东省广州市白云区九年级(上)期末语文试卷
- 2024-2030年中国铁皮石斛行业市场竞争策略及投资价值研究报告
- 新生儿呼吸系统常见疾病的特点及护理课件
- 融入人工智能的《语言学概论》教案设计
- 2024年信息技术基础考试题库
- 2024至2030年中国空气滤芯行业投资前景及策略咨询研究报告
- 罪犯心理危机干预专家讲座
- 2024-2025学年北师版八年级上册数学期末专项复习:一次函数(压轴34题)解析版
- 学术规范与论文写作智慧树知到答案2024年浙江工业大学
评论
0/150
提交评论