mobileFX WebKitX ActiveX
WebKitX JavaScript Externs~-_namespace / SQLXExecSQL Method
SQLX connection string of the database to open.
SQL statement to execute.
Default transport between client and server dataset transmissions. Can be "json" or "arraybuffer".
Callback function to execute when data are fetched.
Object context that receives the callback.
In This Topic
    SQLXExecSQL Method
    In This Topic
    SQLXExecSQL, exectures SQL and returns data and metadata. This function uses commercial SQLX driver.
    Syntax
    var value; // Type: boolean
    
    // Parameters
    var ConnectionString; // Type:  string
    var SQL; // Type:  string
    var Transport; // Type:  string
    var CallbackFunction; // Type:  any
    var ThisContext; // Type:  object
    
    value = SQLXExecSQL(ConnectionString, SQL, Transport, CallbackFunction, ThisContext);
    function SQLXExecSQL( 
       ConnectionString : string,
       SQL : string,
       Transport : string,
       CallbackFunction : any,
       ThisContext : object
    ) : boolean;

    Parameters

    ConnectionString
    SQLX connection string of the database to open.
    SQL
    SQL statement to execute.
    Transport
    Default transport between client and server dataset transmissions. Can be "json" or "arraybuffer".
    CallbackFunction
    Callback function to execute when data are fetched.
    ThisContext
    Object context that receives the callback.
    Example
    ///////////////////////////////////////////////////////////////////////////
    function ExecSQL(SQL)
    {
    	var db = db_connection_string();
    	var ab = SQLXExecSQL(db, SQL, "ArrayBuffer", function(ab)
    	{
    		var ds = new Dataset;
    		ds.openFromArrayBuffer(ab);
    		LoadDatasetToGrid(ds, w2ui["x-w2ui-sql-grid"]);
    		__delete__(ds);
    	});
    }
    
    ///////////////////////////////////////////////////////////////////////////
    function LoadDatasetToGrid(ds, grid)
    {
    	// Reset grid
    	var columns = [];
    	var records = [];		
    
    	columns.push({			
    		field: "recid",
    		hidden: true
    	});
    
    	// Create grid coluns from dataset fields
    	for (var i = 0; i < ds.fieldCount; i++)
    	{
    		var f = ds.fieldByIndex(i);
    		var id = f.ID.replace(/[\W\s]/g, "_");
    		columns.push({
    			caption: f.NAME,
    			field: id,
    			size: "100px",
    		});
    	}
    			
    	// Create grid records from dataset records
    	ds.moveFirst();
    	var r = 0;
    	while (!ds.DB_EOF)
    	{
    		var record = { recid: ++r };		
    		for (var i = 0; i < ds.fieldCount; i++)
    		{
    			var f = ds.fieldByIndex(i);
    			var id = f.ID.replace(/[\W\s]/g, "_");
    			record[id] = f.value;
    		}
    		records.push(record);
    		ds.moveNext();
    	}
    	
    	grid.clear();
    	grid.columns = columns;
    	grid.records = records;
    	grid.refresh();
    }
    Browser Compatibility
    80