SQLite3 COM vs. SQLite COM


SQLite3 COMSQLite3 COM vs. SQLite COM

 

SQLite3的改进:
http://www.newobjects.com/pages/ndl/SQLite3%5Ccomparison23.htm

 

The table lists the most significant features of SQLite3 COM and SQLite COM. It covers both the database engine capabilities, the specific additions and the programming interface. It describes the database features as they are available in the SQLite COM/SQlite3 COM implementations.

FeatureSQLite COMSQLite3 COMComments
Zero configurationYesYesOnly the file name of the database file must be supplied. Any other parameters are optional and can be specified at run-time.
COM interfaceintegratedintegratedThe database engine and the COM interface are in single DLL. Note that AXPack1 core is still needed because the output from queries is packed in AXPack1 objects. This may sound as added footprint, but in the reality the benefit of using common objects for database communication and other tasks enables the applications to perform very complex tasks with little code. 
In-memory databaseYesYesOpening with empty file name opens a full featured in-memory SQL database.. 
SQL supportSQL 92SQL 92Not all the features are supported. See the SQL reference for the both components for details.
Sub-queriesstaticfull supportThe sub-queries are one of the most powerful mechanisms in SQL. Static means that the sub-query is executed once and used for each iteration of the outer query. The full support allows the sub-query to refer fields from the outer query. 
Query parametersNo support, You need a StringUtilities object to overcome this.  Named and by position.In SQLite COM you can parameterize queries only by using the string formatting functionality supplied by the StringUtilities object.
In SQLite3 COM you have methods like VExecute, CExecute and AExecute. They allow you put parameters in the executed queries (for example using ? or $<name>) and pass values for them as trailing arguments (VExecute), as collection (CExecute) or as array (AExecute). You can pass any kind of value including binary (blob). 
Session parametersNoneScalar and object parameters supported.The SQLite3 COM's Parameters collection enables the application to set named parameters (values or objects) that can be used in any query executed with this database object. This includes not only directly executed queries, but also views and triggers. The session parameters are accessible through the Parameter database function. Any method or property on object parameters can be called using the CallObject database function.
Parameterized viewsNoYesSee session parameters.
OLE Date/Time supportYesYes - ExtendedFor Windows applications it is more convenient to use OLE date/time values which are actually regular double precision floating point numbers. This date/time format is better than most other date/time formats (including the date/time format inherited from the SQL standard). The OLE date/time is not only directly convertible from/to double values, but also precise enough for time stamping. This makes it the recommended date/time format for SQLite COM and SQLite3 COM. 
Internal database typesnumeric and textinteger, text, real, blobIn SQLite3 COM the internal database value types are enough to fit the needs of any application.
Column typessmartsmartSQLite (2 and 3) allow values of any of the supported types to be put in any column. Thus the declared column type is actually just a suggestion. It is up to the application to decide if it will stick to it or will allow mixed types to be put in the column. Smart type conversion is applied in the SQL expressions and the application can determine the actual type of the value of each particular field in the returned result. 
Internal COM to database interfacetextualdirectIn SQLite COM the data is automatically or explicitly converted to text before sending/receiving it to/from the database engine (internally).   
In SQLite3 COM the data is converted from/to the closest internal database value type which makes the interface 3 to 5 times faster than in SQLite COM.
TriggersYesYes 
TransactionsYesYesThe transactions cannot be nested.
Database storageSingle file (or in-memory) SQLite2 UTF-8 formatSingle file (or in-memory) SQLite3 UTF-8 format.The file format is machine independent. For example the Windows CE versions of the SQLite COM/SQLite3 COM work with the same files as the desktop versions. The format is the standard SQLite format and is compatible also with non SQLite COM implementations based on SQLite (for example UNIX applications using SQLite in their own way) 
Database managerALP basedALP basedDatabase manager is available for the both components. It is written using ALP. It can be obtained separately or as part of other products that include it (if you have installed some of our products you may already have it - check before downloading separately). 
AvailabilityWindows 95/98/ME
Windows NT4/2k/XP/2003/Vista and above
Windows CE 3.0/CE.NET and above (including Pocket PC and Smartphone)
Windows 95/98/ME
Windows NT4/2k/XP/2003/Vista and above
Windows CE 3.0/CE.NET and above (including Pocket PC and Smartphone)
 
Database lockingYes
(Windows CE - No)
Yes (page level)
(Windows CE - No)
On desktops multiple applications can work with the same database file at the same time. On Windows CE devices only one application may have full access to the database while the others can only read from it at the same time.
Extending the database with custom functionsNoYesSee CallObject.

 

Note that this is not comparison of the SQLite database engines alone - SQLite COM and SQLite3 COM add certain features to the standard engine which are not part of the original SQLite database.

...

newObjectsCopyright 2001-2006 newObjects [ ]


本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2007/08/11/852151.html,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值