| Stonefield Query SDK |
| DataEngine.BeforeCreateSQLStatement |
Parameters
A reference to the Stonefield Query Application object.
Return Value
True if the result set retrieval should continue or False if not.
Example
This is similar to the example in DataEngine.FinalizeSQLStatement, but adds FilterCondition objects to the FilterConditions collection instead, since the SQL statement hasn't been created yet.
Visual FoxPro
lparameters toApplication as SQApplication
local lcSalespersonID, loCondition as FilterCondition
lcSalespersonID = toApplication.GetRegistryValue('ID', '', ;
'Software\MyCompany\SalesApplication')
loCondition = toApplication.DataEngine.FilterConditions.AddItem()
loCondition.FieldName = 'Salesperson.SalespersonID'
loCondition.Condition = loCondition.FieldName + " = '" + ;
lcSalespersonID + "'"
loCondition.Connection = 'and'
loCondition.IncludeInDisplay = .F.
loCondition.Operator = 'equals'
loCondition.Values.AddItem(lcSalespersonID) VBScript
function Main(Application)
dim Condition
SalespersonID = Application.GetRegistryValue("ID", "", _
"Software\MyCompany\SalesApplication")
set Condition = Application.DataEngine.FilterConditions.AddItem()
Condition.FieldName = "Salesperson.SalespersonID"
Condition.Condition = loCondition.FieldName & " = '" & _
SalespersonID & "'"
Condition.Connection = "and"
Condition.IncludeInDisplay = False
Condition.Operator = "equals"
Condition.Values.AddItem(lcSalespersonID)
end function JavaScript
function Main(Application, SelectStatement) {
var SalespersonID, Condition ;
SalespersonID = Application.GetRegistryValue('ID', ' ',
'Software\MyCompany\SalesApplication') ;
Condition = Application.DataEngine.FilterConditions.AddItem() ;
Condition.FieldName = 'Salesperson.SalespersonID' ;
Condition.Condition = loCondition.FieldName + " = '" +
SalespersonID + "'" ;
Condition.Connection = 'and' ;
Condition.IncludeInDisplay = false ;
Condition.Operator = 'equals' ;
Condition.Values.AddItem(lcSalespersonID)
} C#
Please note that the method in this script must be named DataEngine_BeforeCreateSQLStatement.
public static bool DataEngine_BeforeCreateSQLStatement(SFQApplication sfqApplication)
{
string salespersonID;
salespersonID = sfqApplication.GetRegistryValue("ID", " ",
@"HKEY_CURRENT_USER\Software\MyCompany\SalesApplication");
// Please note that any changes you make to this item will only be saved in
// Stonefield Query after you call the Dispose() method
// Or by using the 'using' syntax below which calls Dispose() for you automatically
using(FilterCondition condition = sfqApplication.DataEngine.FilterConditions.AddItem())
{
condition.FieldName = "Salesperson.SalespersonID";
condition.Condition = condition.FieldName + " = '" + salespersonID + "'";
condition.Connection = "and";
condition.IncludeInDisplay = false;
condition.Operator = "equals";
condition.Values.AddItem(salespersonID);
}
return true;
} VB.NET
Please note that the method in this script must be named DataEngine_BeforeCreateSQLStatement.
public shared function DataEngine_BeforeCreateSQLStatement(sfqApplication as SFQApplication) as Boolean
Dim salespersonID as String
salespersonID = sfqApplication.GetRegistryValue("ID", "NOT FOUND", _
"HKEY_CURRENT_USER\Software\MyCompany\SalesApplication")
' Please note that any changes you make to this item will only be saved in
' Stonefield Query after you call the Dispose() method
' Or by using the 'using' syntax below which calls Dispose() for you automatically
Using condition as FilterCondition = sfqApplication.DataEngine.FilterConditions.AddItem()
condition.FieldName = "Salesperson.SalespersonID"
condition.Condition = condition.FieldName + " = '" + salespersonID + "'"
condition.Connection = "and"
condition.IncludeInDisplay = false
condition.Operator = "equals"
condition.Values.AddItem(salespersonID)
End Using
return true
End FunctionSee Also
DataEngine.FinalizeSQLStatement | DataEngine Object | Scripts
| Last Updated: 06/07/10 |