Foxhound is the better* Database Monitor for SQL Anywhere.
*better: More thorough, more relevant, more effective.
...more Alerts, more All Clears, more details, more control in your hands.


[Home] [About Breck]

Last modified: February 14, 2000
mail to: bcarter@bcarter.com



Tips by Title

A Rudimentary Execution Profiler An execution profiler helps find where all the time is being spent in an application program. This article discusses exection profilers in general and presents the code for one that works with PowerBuilder. First in a series of 3 articles.May 1, 1996
A Simple Data Dictionary How to create a code-free data dictionary with ERwin, two dictionary tables and a single DataWindow.August 8, 1996
About Breck CarterBackground and contact information for Breck Carter.February 13, 2000
Accidental Polymorphism How to get the Clipboard() function to work properly in a DataWindow script.February 5, 1997
Always Define A Primary Key Tip 77.11 - Always Define A Primary KeyFebruary 12, 1998
An Open Letter To Steve Benfield An open letter to Steve Benfield about the PowerBuilder Developers Journal.August 11, 1998
Array Functions How to use the any data type to code a PowerBuilder 5 function that returns an array.July 10, 1996
Auto-Incrementing DataWindows How to use SQL Anywhere 5's new default AutoIncrement feature together with PowerBuilder 5's Identity Column facility.September 4, 1996
Avoid The Polymorph Table Why codes and descriptions should be placed in separate tables rather than gathered into a combined code table.June 11, 1996
Be Reasonable With The Indexes Tip 77.21 - Be Reasonable With The IndexesFebruary 12, 1998
Better Column Names Defining readable names for computed column and field names.May 14, 1996
Beware Of Slow DDL Tip 77.30 - Beware Of Slow DDLFebruary 12, 1998
Beware The Shallow Copy Avoid memory leaks and other errors by understanding how PowerBuilder object variable assignments are actually implemented.July 16, 1996
Can SQL Anywhere Handle Your Load? Tip 77.1 - Can SQL Anywhere Handle Your Load?February 12, 1998
Casting BLObs Using the Watcom SQL cast() function to convert a long binary column to string format for easy retrieval in a PowerBuilder DataWindow.April 30, 1996
Code For A Simple Data Dictionary How to download the exported code for the dictionary DataWindow and the SQL for creating the dictionary tables.August 12, 1996
Code For Prompt Before Printing Download the code for f_prompt_before_printing.August 15, 1996
Consider An Explicit Primary Key Index Tip 77.15 - Consider An Explicit Primary Key IndexFebruary 12, 1998
Counting With CumulativeSum() Using the DataWindow CumulativeSum() function instead of count() to solve difficult counting problems.May 16, 1996
Create Indexes Tip 77.9 - Create IndexesFebruary 12, 1998
Date Arithmetic in PowerBuilder! Using functions like day() and RelativeDate() to solve problems like calculating the last date in a given month.May 30, 1996
Deal With Disk Fragmentation Tip 77.31 - Deal With Disk FragmentationFebruary 12, 1998
Dealing With Hierarchies Use a denormalized hiearchy table to simplify queries involving fishhook relationships.May 31, 1996
Deep Copies With AutoInstantiate How to implement deep copying of non-visual user objects with the new AutoInstantiate property in PowerBuilder 5.July 17, 1996
Default Timestamp How to use SQL Anywhere 5's new timestamp default to implement a higher level of consistency checking.June 27, 1996
DELETE FROM FROM How to qualify a SQL delete with a where clause involving more than one table.June 24, 1996
Describing Evaluate How to call Describe() and Evaluate() to compare columns on different rows in a computed field expression.July 23, 1996
Diagnose Problems With Runtime Properties Tip 77.26 - Diagnose Problems With Runtime PropertiesFebruary 12, 1998
Distinct Sums How to suppress repeating values from computed field expressions as well as the display.June 25, 1996
eDict: An HTML-Based Data Dictionary An offer to participate in alpha testing.August 5, 1998
Encapsulated DataWindow Searching A standard SingleLineEdit user object for searching-and-scrolling a DataWindow while the user types is described.May 9, 1996
Eschewing Annoyance How to get rid of the "Specify Retrieval Arguments" dialog box when using a DropDownDataWindow that expects a retrieval argument.January 1, 1997
Evaluating LookupDisplay How to call DataWindow functions like LookupDisplay from PowerScript.August 9, 1996
Evaluating Validations Calling Describe() and Evaluate() to check user input without calling AcceptText().June 12, 1996
Exists Versus Count(*) Use if exists instead of count(*) to determine if any rows exist.May 23, 1996
Find Blocked Connections With System Functions Tip 77.27 - Find Blocked Connections With System FunctionsFebruary 12, 1998
Flat Files In SQL Some techniques for loading and scanning data from flat text files into SQL Anywhere tables.October 18, 1996
Forensic Programming First published in the March 1995 issue of Pinnacle Publishing's PowerSource magazine, this tip talks about the maintenance and enhancement of PowerBuilder programs.December 3, 1997
Format 5 Dynamic SQL How to code dynamic SQL using SQL Anywhere 5's new Execute Immediate statement.July 25, 1996
From SQL Anywhere To SQL Server Tip 79: Quick Reference Notes - Converting From Sybase SQL Anywhere 5.5 To Sybase Adaptive Server Enterprise 11.5 - a work-in-progressOctober 16, 1998
Generate Surrogate Keys The code for f_get_next_surrogate_id which uses the surrogate_id table to generate artificial primary key values.October 6, 1997
Getting Started with NetImpact Dynamo NetImpact Dynamo lets you code web server-based database programs in a JavaScript-like language called Dynamo Script. By combining server-side Dynamo Script, client-side JavaScript and HTML code in the same web page you can automate many of the mundane tasks required in the creation of interactive web sites. And your whole web site can be stored in a single database to make administration, publishing, backup and recovery much easier.November 21, 1997
Getting Started With Powersoft and Sybase News Groups Tip 87: Getting Started With Powersoft and Sybase News Groups - How to get free advice and customer support via the internet, and how to avoid getting into trouble on the newsgroups.March 24, 1999
Group By Peril How summarization can hide huge errors in SQL selects.June 7, 1996
Hiding The MDI Window List How to suppress the standard list of open sheets.July 12, 1996
Importing Text Files How to use an ODBC text driver to retrieve data from a fixed-format text file.September 3, 1996
Independent Contractor Questionnaire How does Revenue Canada determine if I'm an employee or an independent contractor when I work as a subcontractor in the computer field?October 7, 1997
Intelligent Versus Surrogate Keys Deciding whether to use business columns or artificially generated values as primary keys.October 6, 1997
Interrupt Processing With SET ROWCOUNT Tip 77.34 - Interrupt Processing With SET ROWCOUNTFebruary 12, 1998
Java In The Database (2) - Nested Object Columns Tip 82: Java In The Database (2) - Nested Object Columns: Can a Java object with nested Java objects be stored in a table?November 26, 1998
Java In The Database (3) - Object Indexes Tip 83: Java In The Database (3) - Object Indexes: Can Java objects be indexed?November 30, 1998
Java In The Database (4) - JDBC and jConnect Tip 84: Java In The Database (4) - JDBC and jConnect: Can Java code do Adaptive Server Anywhere database I/O from a client?December 2, 1998
Java In The Database (5) - Cross-Server Database I/O Tip 85: Java In The Database (5) - Cross-Server Database I/O: Can Java code running in one database connect to a different database? December 3, 1998
Java In The Database - Getting Started with ASA 6 Tip 81: Java In The Database - Getting Started With Sybase Adaptive Server Anywhere Version 6November 24, 1998
Java In The Database - OSUG Tip 86: Java In The Database - Breck Carter's presentation to the Ontario Sybase User Group on February 24, 1999February 25, 1999
L. A. Diary: Powersoft Conference '98 Breck's experiences at the 1998 Powersoft Conference in Los Angeles, August 8 to 13.August 16, 1998
Learn To Read The Plan Tip 77.3 - Learn To Read The PlanFebruary 12, 1998
Limit Result Sets With SET ROWCOUNT Tip 77.33 - Limit Result Sets With SET ROWCOUNTFebruary 12, 1998
Local Session Locks Allowing the user to open multiple instances of the same MDI sheet while preventing the same data from being changed in two different sheets.June 20, 1996
Monitor Client And Server With DBWatch Tip 77.36 - Monitor Client And Server With DBWatchFebruary 12, 1998
Moving The Unmovable Moving a signature line to the bottom of the last page by alternative methods involving the summary and footer bands.December 23, 1996
Multi-Key DropDownDataWindows How to filter a DDDW to include values that apply to the current row without causing the display value on other rows to change, and how to create a single DDDW that affects two data columns on the master DataWindow.July 19, 1996
N-Up Computed Fields How to code computed field expressions in N-Up DataWindows.June 26, 1996
Not Enough Rows? Dealing with outer joins that don't return all the rows expected.May 22, 1996
Optimizing SQL Tips and techniques for optimizing SQL commands.May 15, 1996
ORCA Symptoms And Solutions Where to find documentation and a wrapper DLL for the Open Repository CASE API (ORCA), and how to deal with some problems testing ORCA applications.July 3, 1997
Pattern Matching With SQL How to use the new SQL Anywhere 5 PatIndex() and SQL Batch facilities to find and modify search strings embedded within character columns.July 15, 1996
PBDebug and DebugOutFile How to get a program execution trace in the PowerBuilder 5 development environment.September 5, 1996
Pick The Right Time To Create An Index Tip 77.22 - Pick The Right Time To Create An IndexFebruary 12, 1998
Pointer Arithmetic in PowerBuilder! Use pointer arithmetic and the string ( long, "address" ) function to find DOS environment variables.May 29, 1996
Pre-Loading DataWindows Using a hidden main window or a DataStore to pre-load large result sets to improve overall performance.June 20, 1996
Profiler Code The actual PowerBuilder code for implementing a rudimentary execution profiler including enhancements. Last of 3 articles.May 7, 1996
Profiler Feedback A suggestion for improving the PowerBuilder execution profiler by automatically including script name and line number in the profile report. Second of 3 articles.May 3, 1996
Prompt Before Printing How to create your own DataWindow print prompt window that works with HP Laserjet printers.August 14, 1996
Put Different Data On Different Drives Tip 77.35 - Put Different Data On Different DrivesFebruary 12, 1998
QuickTips Debugging and other tips and techniques for PowerBuilder applications.January 5, 1997
Refreshing DataWindows How to use SQL Anywhere 5's new default timestamp feature when writing code to determine if a DataWindow needs to be refreshed.July 26, 1996
Replace OR With UNION Tip 77.20 - Replace OR With UNIONFebruary 12, 1998
Replication Overview This is the text of a presentation to the November 25, 1997 meeting of the Toronto PowerBuilder User Group. It is an excerpt from Replication Step-By-Step - A Detailed Demonstration Of Publish Subscribe Replication Using Sybase SQL Anywhere With MESSAGE TYPE "FILE". November 26, 1997
Replication Step By Step Tip 78 - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Replication Step By Step - Conclusion Tip 78 - Conclusion - Replication Step By Step - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Replication Step By Step - Force Consistency Via SYNCHRONIZE SUBSCRIPTION Tip 78 - Section Four: Force Consistency Via SYNCHRONIZE SUBSCRIPTION - Replication Step By Step - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Replication Step By Step - Introduction Tip 78 - Introduction - Replication Step By Step - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Replication Step By Step - Replicate Changes Among The Databases Tip 78 - Section Three: Replicate Changes Among The Databases - Replication Step By Step - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Replication Step By Step - Send Commands Via PASSTHROUGH Tip 78 - Section Five: Send Commands Via PASSTHROUGH - Replication Step By Step - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Replication Step By Step - Set Up The Consolidated Database Tip 78 - Section One: Set Up The Consolidated Database - Replication Step By Step - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Replication Step By Step - Set Up The Remote Database Tip 78 - Section Two: Set Up The Remote Database - Replication Step By Step - A detailed demonstration of publish subscribe replication using Sybase SQL Anywhere with MESSAGE TYPE "FILE"February 23, 1998
Resume Breck Carter is an independent consultant with over 20 years of experience building Management Information Systems. November 26, 1997
Run ISQL In Batch Mode Tip 77.4 - Run ISQL In Batch ModeFebruary 12, 1998
Save As RTF How to use a RichTextEdit control to save DataWindow data in RTF format.July 24, 1996
Scroll-While-You-Type Program Code Program code for u_sle_find, enhanced to handle numeric, date, time and DateTime columns as well as strings (PowerBuilder 5 and 6.5 versions now available, with support for DataWindow data type "long").November 17, 1998
ScrollToFirstRowOnPage How to get row highlighting to move to the new row on a freeform DataWindow when the vertical scrollbar is used.February 14, 1997
SQL Server Performance Tips Tip 80: Quick Tips about performance in Adaptive Server Enterprise.October 28, 1998
Switching NT Printers How to switch between several printers without using the PrintSetup() dialog box.September 6, 1996
Sybase Adaptive Server Anywhere Default Values Tip 88: Sybase Adaptive Server Anywhere Default Values - The power of DEFAULT goes beyond INSERT. Some values are automatically changed when a row is updated, and you can use DEFAULT TIMESTAMP and DEFAULT LAST USER to avoid writing some kinds of triggers. September 29, 1999
Sybase SQL Anywhere 5.5 System Tables Tip 89: Sybase SQL Anywhere 5.5 System Tables - A look at the system catalog via HTML, and an introduction to the eDict Data Dictionary program.May 3, 1999
Sybase SQL Anywhere Performance Tips & Techniques Tip 77 - 38 chapters, 14,000 words, all about tuning Sybase SQL Anywhere.February 12, 1998
Sybase SQL Anywhere Performance Tips & Techniques - A Final Word Tip 77 - A Final WordFebruary 12, 1998
Sybase SQL Anywhere Performance Tips & Techniques - Introduction Tip 77 - Introduction to Sybase SQL Anywhere Performance Tips & TechniquesFebruary 12, 1998
Sybase SQL Anywhere Performance Tips & Techniques - Overview Tip 77 - An extended "Table of Contents."February 12, 1998
The ConnectOption DBParm Parameter Using the new ODBC ConnectOption DBParm parameter to suppress the dialog box that appears when the something goes wrong with a connect statement.December 9, 1996
The DataWindow As Pipeline How to get control over database transfers by using a DataWindow instead of a Pipeline.December 11, 1996
The Dreaded Meta-Tilde (I) First of a two-part series on coding special characters in DataWindow expressions.June 13, 1996
The Dreaded Meta-Tilde (II) Second of a two-part series on coding special characters in DataWindow expressionsJune 14, 1996
The Prime Directive: Increase The Cache Tip 77.5 - The Prime Directive: Increase The CacheFebruary 12, 1998
The Tip With No Name (Banish NULLs!) Why you should banish NULLs from your applications.May 21, 1996
Think Sets Tip 77.8 - Think SetsFebruary 12, 1998
Timeless Dates Dealing with the fact that the Watcom SQL date datatype includes a component for time.May 6, 1996
To Check Or Not To Check (Error Codes) A discussion of error checking and diagnosis in PowerBuilder applications.April 29, 1996
Too Many Rows? When the result set is suddenly overwhelming it's probably an accidental cartesian product.May 27, 1996
Tracking The Elusive DWObject How to find out about PowerBuilder 5's new DWObject type and how to use it.July 11, 1996
Tracking The Elusive DWObject II According to Powersoft, DWObject variables should be explicitly destroyed after they are referenced in scripts.July 18, 1996
Transaction Management With Sybase Take control of transaction management by setting AutoCommit = true and issuing your own Sybase BEGIN TRANSACTION commands.May 28, 1996
Trust Your Keys Tip 77.12 - Trust Your KeysFebruary 12, 1998
Tuning PowerScript - A Case Study How eliminating Format 4 dynamic SQL made one application run ten times faster.July 22, 1996
Understand ASC And DESC Tip 77.14 - Understand ASC And DESCFebruary 12, 1998
Understand DEFAULT AUTOINCREMENT Tip 77.28 - Understand DEFAULT AUTOINCREMENTFebruary 12, 1998
Understand Index Column Placement Tip 77.10 - Understand Index Column PlacementFebruary 12, 1998
Understand Primary Key Column Placement Tip 77.13 - Understand Primary Key Column PlacementFebruary 12, 1998
Use -x To Limit Protocols Tip 77.37 - Use -x To Limit ProtocolsFebruary 12, 1998
Use A Large Page Size Tip 77.6 - Use A Large Page SizeFebruary 12, 1998
Use A Log File Tip 77.7 - Use A Log FileFebruary 12, 1998
Use EXISTS Instead Of COUNT(*) Tip 77.18 - Use EXISTS Instead Of COUNT(*)February 12, 1998
Use Indexes for Max() and Min() Tip 77.16 - Use Indexes for Max() and Min()February 12, 1998
Use LIKE 'xx%' Tip 77.17 - Use LIKE 'xx%'February 12, 1998
Use Stored Procedures And Triggers Tip 77.32 - Use Stored Procedures And TriggersFebruary 12, 1998
Use TCP/IP Tip 77.38 - Use TCP/IPFebruary 12, 1998
Use The Latest Version Tip 77.2 - Use The Latest VersionFebruary 12, 1998
Use The NT Performance Monitor Tip 77.25 - Use The NT Performance MonitorFebruary 12, 1998
Use The SQL Central Performance Monitor Tip 77.24 - Use The SQL Central Performance MonitorFebruary 12, 1998
Use UNION ALL Tip 77.19 - Use UNION ALLFebruary 12, 1998
User Defined Event Arguments How to define your own arguments when using Declare - User Events.August 13, 1996
User-Defined SQL Functions Using the Sybase SQL Anywhere 5 user defined function feature to create new scalar SQL functions.May 2, 1996
Wait_For_Commit Solving problems with referential integrity by deferring checks until the next commit via Sybase SQL Anywhere 5's wait_for_commit feature.May 17, 1996
Watch Out For Correlated Subqueries Tip 77.29 - Watch Out For Correlated SubqueriesFebruary 12, 1998
Watch Out For Wide Indexes Tip 77.23 - Watch Out For Wide IndexesFebruary 12, 1998
Watcom 'Rithmetic Dealing with precision problems in SQL expressions.June 6, 1996
Waving Dead Chickens Solving row focus highlighting problems in PowerBuilder 3, 4 and 5.July 8, 1996
WINHELP.EXE Parameters How to make WINHELP.EXE jump to a specific Help topic by specifying a command line parameter.June 21, 1996
Y2K Disaster: Good News, Bad News How the Y2K "bug" affected consultants and contract programmers in early 1999.March 12, 1999



[Home]

[mail to: bcarter@bcarter.com]