System and method for generating reusable database queries
First Claim
1. A computer-implemented method of creating and executing a database query, comprising the steps of:
- (1) specifying on a computer display a plurality of database query criteria, each criterion comprising a field identifier, an operator, and a desired value, wherein one or more of the desired values are specified as an “
ask me”
value that requires user input at query execution time;
(2) upon detecting that a database query is to be executed, prompting a user to supply a value for all “
ask me”
values present in the plurality of database query criteria;
(3) constructing a query string comprising the specified plurality of database query criteria and any values supplied in step (2); and
(4) executing the database query using the constructed query string.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved user interface and query method permits a computer user to quickly specify field names, operators, and desired values for a database query. One or more of the desired values can be specified as an “ask me” value that will cause the user to be prompted (each time the query is to be executed) for a desired value prior to executing the query. A “wizard-like” set of dialog boxes guides the user through prompts to supply values for all such “ask me” values in a compound query. Rather than presenting the user with arcane logical operators and a formalistic query language, logical operators are converted into ordinary English phrases. The user can save the query for later re-use or modification. Another feature prompts the user with a constrained list of possible values that a field can assume, forcing the user to select from among the constrained values rather than requiring the entry of a discrete value. When the user specifies an “ask me” value for one of these fields, the constrained list is presented to the user before the query is executed. The invention can be implemented as an ActiveX control that executes in a web browser on a client computer.
170 Citations
22 Claims
-
1. A computer-implemented method of creating and executing a database query, comprising the steps of:
-
(1) specifying on a computer display a plurality of database query criteria, each criterion comprising a field identifier, an operator, and a desired value, wherein one or more of the desired values are specified as an “
ask me”
value that requires user input at query execution time;
(2) upon detecting that a database query is to be executed, prompting a user to supply a value for all “
ask me”
values present in the plurality of database query criteria;
(3) constructing a query string comprising the specified plurality of database query criteria and any values supplied in step (2); and
(4) executing the database query using the constructed query string. - View Dependent Claims (2, 3, 4, 5, 6, 7)
(a) displaying a query grid comprising a plurality of cells arranged into field names, operators, and desired values; and
(b) displaying a context-sensitive menu in each cell upon detecting that each cell has been selected, wherein the context-sensitive menu provides choices that can be specified for that cell.
-
-
3. The method of claim 1, wherein step (2) comprises the step of displaying a dialog box comprising a question that prompts the user, a data entry area, and a display element that advances to a next dialog box that prompts the user for a next “
- ask me”
value.
- ask me”
-
4. The method of claim 1, wherein step (2) comprises the step of displaying a dialog box comprising a question that prompts the user;
- a constrained list of choices from which the user must select one; and
a display element that advances to a next dialog box that prompts the user for a next “
ask me”
value.
- a constrained list of choices from which the user must select one; and
-
5. The method of claim 4, further comprising the step of displaying a last dialog box comprising a “
- finish”
display element which, when selected, causes the query to be executed.
- finish”
-
6. The method of claim 1, further comprising the step of storing the plurality of database query criteria specified in step (1) under a user-selected query name.
-
7. The method of claim 1, wherein steps (1) through (3) are executed on a client computer using a web browser, and wherein step (5) is executed on a server computer that contains a database.
-
8. A computer-implemented method of querying a database, comprising the steps of:
-
(1) displaying on a computer screen a query grid comprising a plurality of cells that define a database query, the cells including a first group of cells each of which permits a user to specify a database field;
a second group of cells each of which permits the user to specify an operator to be applied to a corresponding one of the database fields; and
a third group of cells each of which permits the user to specify a desired value for one of the database fields specified in the first group of cells;
(2) specifying a database field for each of the first group of cells;
(3) specifying an operator for each of the second group of cells;
(5) specifying an “
ask me”
value for at least one of the third group of cells, wherein the “
ask me”
value causes the user to be prompted for a value just prior to the time that the query is executed; and
(5) executing the database query by prompting the user to supply a value for any cell for which an “
ask me”
value was specified in step (5), adding any such prompted values to the previously specified fields and operators, and submitting the resulting query to a database engine.- View Dependent Claims (9, 10, 11, 12, 13, 14)
(6) specifying a database field as a comparison point;
(7) querying the database for results corresponding to the comparison point; and
(8) displaying the results of the database query from step (7) in close proximity to the database results obtained in step (5) in order to permit comparison by the user.
-
-
15. A system for creating and executing database queries, comprising:
-
a client computer including a web browser and a browser control element; and
a server computer coupled to the client computer over a network, the server computer including a query parser that receives a query string from the network and generates a database query, and a query engine that executes the database query;
wherein the browser control element generates a query grid display on the client computer comprising a plurality of cells arranged into fields, operators, and values; and
wherein the browser control element permits a user of the client computer to specify an “
ask me”
value for one or more of the cells and which, when query execution is requested, prompts the user to supply a value for each such “
ask me”
value, generates the query string including any such supplied values, and transmits the query string to the query parser on the server computer.- View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification