|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题ado|技能|精髓我利用ActiveXDataObject(ADO)是从1.5版本入手下手,那已是一个十分陈旧的版本了。如今的版本中,很多器材都产生了变更。从每次版本晋级中我都学到很多新的器材。这些器材你不克不及全体从书籍上找到,大概最少能够说,不克不及从一个中央找到。
我在这里经心选择和总结了这些ADO开辟要点和技能。个中有些成绩大概就是你一向历历在目的成绩;有些是你历来未曾懂得的手艺;另有一些只是分门别类地展现ADO开辟的常识精髓。
1、共享毗连工具
把毗连字符串传送给Command、Recordset大概Record工具时,每次你都是在隐含地命令ADO创立一个Connection工具:
Dimrec1AsADODB.Record
Dimrec2AsADODB.Record
Dimrec3AsADODB.Record
Setrec1=NewADODB.Record
rec1.Open"localstart.asp","URL=http://localhost/"
Setrec2=NewADODB.Record
rec2.Open"global.asa","URL=http://localhost/"
Setrec3=NewADODB.Record
rec3.Open"iisstart.asp","URL=http://localhost/"
实行一些操纵
rec1.Close
rec2.Close
rec3.Close
Setrec1=Nothing
Setrec2=Nothing
Setrec3=Nothing
为了节俭资本,你应当先创立一个Connection工具,然后把它传送给一切请求举动毗连的工具。也就是说,下面的代码应当改成上面这类情势:
DimconAsADODB.Connection
Dimrec1AsADODB.Record
Dimrec2AsADODB.Record
Dimrec3AsADODB.Record
Setcon=NewADODB.Connection
con.Open"URL=http://localhost/"
Setrec1=NewADODB.Record
rec1.Open"localstart.asp",con
Setrec2=NewADODB.Record
rec2.Open"global.asa",con
Setrec3=NewADODB.Record
rec3.Open"iisstart.asp",con
实行一些操纵
rec1.Close
rec2.Close
rec3.Close
con.Close
Setrec1=Nothing
Setrec2=Nothing
Setrec3=Nothing
Setcon=Nothing
2、读取ConnectionString属性
从任何已翻开的Connection工具中,包含由Recordset、Command、大概Record工具的ActiveConnection属性前往的Connection工具,你老是能够读取到ConnectionString属性。
DimcomAsADODB.Command
DimrstAsADODB.Recordset
Setcom=NewADODB.Command
com.ActiveConnection=_
"Provider=Microsoft.Jet.OLEDB.4.0;"&"DataSource=NWind.mdb;"
com.CommandText="SELECT*FROMCustomers"
Setrst=com.Execute
MsgBoxcom.ActiveConnection.ConnectionString
rst.Close
Setrst=Nothing
Setcom=Nothing
上述代码运转时,你将从动静框看到以下输入:
Provider=Microsoft.Jet.OLEDB.4.0;
Password="";
UserID=Admin;
DataSource=NWind.mdb;
Mode=ShareDenyNone;
ExtendedProperties="";
JetOLEDB:Systemdatabase="";
JetOLEDB:RegistryPath="";
JetOLEDB:DatabasePassword="";
JetOLEDB:EngineType=4;
JetOLEDB:DatabaseLockingMode=0;
JetOLEDB:GlobalPartialBulkOps=2;
JetOLEDB:GlobalBulkTransactions=1;
JetOLEDB:NewDatabasePassword="";
JetOLEDB:CreateSystemDatabase=False;
JetOLEDB:EncryptDatabase=False;
JetOLEDB:DontCopyLocaleonCompact=False;
JetOLEDB:CompactWithoutReplicaRepair=False;
JetOLEDB:SFP=False
如今你就能够剖析这个字符串,找出有关该毗连的特定信息,好比当数据库被紧缩时它是不是会被加密(JetOLEDB:EncryptDatabase属性)。
3、利用静态属性
Connection工具的Properties汇合可用来设置供给商独有的选项,好比SQLServer的OLEDB驱动程序的Prompt静态属性。
DimconAsADODB.Connection
Setcon=NewADODB.Connection
con.Provider="SQLOLEDB"
con.Properties("Prompt")=adPromptAlways
con.Open
提醒用户选择数据库
con.Close
Setcon=Nothing
上述代码运转时,用户将看到一个对话框,这个对话框同意用户选择要登录到哪个数据库。
4、明智地选择游标地位
选择游标的地位时,你必需思索关于以后毗连来讲哪些服务对照主要。
假如数据供应者的服务恰是你所必要的,你应当利用服务器端游标。这些服务是数据源驱动程序供应的服务,它们一般具有十分好的可伸缩性。别的,经由过程保存服务器端游标,你无需象利用客户端游标那样老是把全体的数据发送到客户端。
另外一方面,当地游标服务,比方Microsoft数据外形服务forOLEDB,可以供应一些客户端游标独有的服务。要让这些服务可以起感化,数据必需发送到当地呆板上,正如数据外形服务所请求的一样。
你能够用Connection.CursorLocation属性设置游标的地位,但选择应当明智、稳重。
5、明智地选择游标范例
选择游标的范例与选择游标的地位一样主要。游标共有四品种型,每品种型都有各自的长处和弱点。
Static游标(静态游标)供应了数据在给准时刻的一个快照。在这类范例的游标中,数据修改(包含其他用户的数据增添大概删除操纵)老是不成见。static游标用来制造报表很幻想,由于制造报表必要无数据的一个分歧的、不会变更的视图,但static游标纷歧定速率最快。因为数据的改动不会显现出来,关于每个利用static游标的毗连,服务供应者必需分离为它创立和保护一份给准时刻的数据正本。
ForwardOnly游标(只能向前的游标)与静态游标基础不异,分歧的地方在于你只能向前挪动会见数据,但不克不及向后。与Static游标比拟,这个限定有益于进步功能,但它仍然请求数据源保护一个数据的一时正本,使得其他用户对数据的修改不会影响你的数据。
Dynamic游标(静态游标)同意你看到其他用户对数据的修正和删除操纵,并且你能够在全部纪录集以内自在地挪动。与Static和ForwardOnly游标分歧,Dynamic游标不请求数据源保护一份数据的静态映像,因而Dynamic游标要比前两种游标快。
最初一种游标范例是Keyset游标(键集游标)。Keyset游标与Dynamic游标十分类似,分歧的地方在于你不克不及看到其他用户新增的纪录。在Keyset游标中,其他用户删除的纪录也将不成会见。和Dynamic游标一样,Keyset游标中你也能够看到其他用户的修正。Keyset游标大概要比Dynamic游标快,这是由于Keyset游标不必要常常地往反省是不是有新纪录到场、是不是有纪录被删除(由于新增的纪录不成见,被删除的纪录酿成不成会见)。
思索每个来由,然后再选择合适你的游标范例。
6、手工机关参数
当功能要素很主要时,请手工界说参数:
DimconAsADODB.Connection
DimcomAsADODB.Command
DimparAsADODB.Parameter
Dimrs</p>ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。 |
|