 |
rs(“fieldname”) is late bound so use constants or
enumerations
|
 |
use Set fld = rs.field(“~”) then reference field
using myfld = fld1 for best results
|
 |
Never use Select *
|
 |
Smarter code uses Where?
|
 |
Static Connections don’t scale, use Disconnected
recordsets
|
 |
JIT drop and reconnect as needed
|
 |
Always us rs.Open specifying a connection object and not
an implied connection, don’t pass a connection string
|
 |
Dissociate Recordsets - Don’t connect at all –
Construct a recordset on its own then save using INSERT
|
 |
Command Objects for output parameter only use a return
status
|
 |
Parameter Add-In
|
 |
Avoid refresh method
|
 |
The prepare property is BAD
|
 |
Use Stored Procedures
|
 |
Default Cursor – not needed
|
 |
Fetch only needed rows, don’t loop to add records to a
grid – assign rs to grid datasource
|
 |
Use GetTickCount API instead of Timer Controls
|
 |
Use Stored Procedure Wizard
|
 |
Set data in Grids to read occasionally use update
statements
|
 |
Use client cursor then assign active connection = Nothing
|
 |
Includes record status?
|
 |
& is slow at runtime when concatenating select
statements, use parameter queries instead
|
 |
Replace build in SQL statements with parameters to avoid
O’Malley problem
|
 | Consider
these Passing
Recordsets Between Tiers |