优秀的软件开发团队:深圳升蓝软件 数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类     
热门推荐
升蓝OA办公自动化系统
基于.Net技术的网络
协同办公环境
 
ASP基础
数据库相关
安全加密
全文检索
ASP应用
打印相关
客户端相关
XML相关
系统相关
正则表达式
ASP技巧
组件开发
脚本编码
FSO专题
邮件相关
远程脚本
性能优化
 
相关链接
深圳升蓝软件:系统集成、办公自动化平台、电子商务、电子政务、Web数据库、企业网站、游戏、手机应用程序、CDMA软件、电子出版物等,为客户提供优秀的解决方案
 
升蓝(www.hi-blue.com)为企业管理、政府办公提供成熟的、易于实施的IT技术服务,我们的解决方案包括OA办公自动化系统CRM客户关系管理系统ERP企业生产管理和订单管理系统电子政务系统、知识管理系统、企业门户、商业智能、工程项目管理等等...
 
电子政务解决方案
塑料/橡胶管理系统
知识管理系统简介
多媒体光盘方案
ERP企业资源管理
订单计划管理系统
PM工程项目管理系统
会员管理系统
相关资料下载
OA办公自动化系统
CRM客户关系管理系统
在线试用版本说明
OA 系统的用户手册
 
 
 
 
升蓝开发团队 > 技术资料 > ASP技术 > 组件开发 : 在VB组件中使用串缓冲 - 1

在VB组件中使用串缓冲 - 1


March 25,2004
Lesson 1 :  Overview
--------------------------------------------------------------------------------

This article serves as a quick "How To" example for using string buffering to concatenate strings in a VB
component. The example VB code will generate a HTML TABLE record that will be sent to an asp file after
being populated with data from a database table. The GetRows() method will be used to acquire the data
from an example Access database.

In many circumstances, sending a Variant array populated by GetRows(), (or a RecordSet) to an asp file
from a VB component is the recommended way to build a HTML TABLE record. Other times you may choose to
build a HTML TABLE record, or other database dependant code, within the VB component itself before sending
it to an asp file. This may not set well with the "true believers" in not mixing HTML and VB code. I tend
to be agnostic and I find sacrificing orthodoxy for speed is sometimes called for with server-side
components. In any regard, this programming choice is exemplified here.

Rather than sending the HTML code from the VB component with the Response.Write method, you can optionally
collect the HTML within a string and send it back as a complete HTML TABLE record. This avoids the need to
instantiate the asp object within the VB component. It also allows other VB code to use your component
without reference to asp. You"re just generating pure HTML code that any COM object can use. But when
putting together a large HTML string in VB, the concatenation operant "&" can slow your code down
significantly.

We"ll be creating two methods, MethodName() and DoBuffer(). The MethodName() method will acquire data from
a database and then use this data to construct a HTML TABLE record it will send to the calling asp file in
one lump sum. Our asp file will initially call the MethodName() method with an sql statement, a connection
string, and the number of fields used in our sql statement. In order to generate the HTML string with the
least use of the concatenation operant, the MethodName() method will send the string fragments it uses to
build the HTML TABLE record to the DoBuffer() method.

The supporting database file, text, and code, for this article can be downloaded here. If you"re
unfamiliar with writing a server-side VB dll, you can read some introductory articles at my site. This
example will include a VB server-side dll (ActiveX dll) consisting of one class (ClassName) and two
methods (MethodName and DoBuffer). The VB project is named How2Project4.

For How2 articles on sending data to asp files with Variant Array/GetRows() and RecordSets see:
How To Pass a Variant Array Populated with a RecordSet From a VB Component to an asp File
How To Pass a RecordSet From a VB Component to an asp File.

NOTE:
The connection string value will need to contain the Data Source Name (DSN) that should first be
established with ODBC, although any valid database connection string will work here. ADO will also need to
be referenced in the VB project (see an introductory VB component article on how to do this).

Why Use String Buffering?
If you concatenate strings using the "&" operant, and you repeat this operation multiple times, processing
time will be significantly delayed compared to using string buffering. Here"s example code of both
techniques:

Concatenating using the "&" operant:


StrHold = "Testing one, "
StrHold = StrHold & "two, "
StrHold = StrHold & "three."



Concatenating using a string buffering method:


S1, S2, S3, "Testing one, "
S1, S2, S3, "two, "
S1, S2, S3, "three."



[This code fragment uses different method and variable names from the code in this article]

With large amounts of concatenating, I have experienced increases in speed of up to 1000 times greater
when using string buffering. This is primarily due to how VB manages the memory for strings with the "&"
operant.

       
数据库开发 | .Net技术 | ASP技术 | PHP技术 | JSP技术 | 应用技术类 | 升蓝开发小组
Copyright ? 2001-2004 Shenzhen Hi-blue Software Team 升蓝开发小组 All rights reserved