The document discusses using SQLite as an embedded SQL database in Adobe AIR applications. SQLite allows storing data in a single file without a separate server. Key features covered include connecting to a SQLite database, executing SQL queries and statements, handling results, and using transactions. The document also provides examples of basic usage and links to additional SQLite resources.
What is PHP?
PHP stands for "PHP Hypertext Preprocessor”
An embedded scripting language for HTML like ASP or JSP
A language that combines elements of Perl, C, and Java
What is PHP?
PHP stands for "PHP Hypertext Preprocessor”
An embedded scripting language for HTML like ASP or JSP
A language that combines elements of Perl, C, and Java
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitDave Stokes
MySQL 8.0 has many new features that you probably need to know about but don't. Like default security, window functions, CTEs, CATS (not what you think), JSON_TABLE(), and UTF8MB4 support.
Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.
You find a column named EntityNum in a table you manage, but what data belongs in this column? Not every detail of usage is clear from just SQL data type and constraints. What is the sensible range of values? Unit of measure? How is the column used by applications? Who in the world knows? We need a way to add comments to the database schema, just as we would write comments in application code to document how programmers should use it. But comments are useful only if they're correct and current, and if they're easy to read and to update. Schemadoc is an experimental tool to help in these goals.
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitDave Stokes
MySQL 8.0 has many new features that you probably need to know about but don't. Like default security, window functions, CTEs, CATS (not what you think), JSON_TABLE(), and UTF8MB4 support.
Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.
You find a column named EntityNum in a table you manage, but what data belongs in this column? Not every detail of usage is clear from just SQL data type and constraints. What is the sensible range of values? Unit of measure? How is the column used by applications? Who in the world knows? We need a way to add comments to the database schema, just as we would write comments in application code to document how programmers should use it. But comments are useful only if they're correct and current, and if they're easy to read and to update. Schemadoc is an experimental tool to help in these goals.
ADO.NET by ASP.NET Development Company in india
ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components.
Video :
Courtesy:
http://www.ifourtechnolab.com
Database Programming: The Design of JDBC, The Structured Query Language, Basic JDBC Programming Concepts,
Result Sets, Metadata, Row Sets, Transactions
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
7. Why SQLite in Adobe AIR?
Embedded SQL Database Engine
8. Why SQLite in Adobe AIR?
Embedded SQL Database Engine
Implements most of SQL92
9. Why SQLite in Adobe AIR?
Embedded SQL Database Engine
Implements most of SQL92
Light-weight, cross-platform, open source
10. Why SQLite in Adobe AIR?
Embedded SQL Database Engine
Implements most of SQL92
Light-weight, cross-platform, open source
No setup, configuration or server required
11. Why SQLite in Adobe AIR?
Embedded SQL Database Engine
Implements most of SQL92
Light-weight, cross-platform, open source
No setup, configuration or server required
Each database is contained within a single file
14. How do you use it?
1.Create a File reference
2.Create an instance of flash.data.SQLConnection and
flash.data.SQLStatement
15. How do you use it?
1.Create a File reference
2.Create an instance of flash.data.SQLConnection and
flash.data.SQLStatement
3.Open the database connection
16. How do you use it?
1.Create a File reference
2.Create an instance of flash.data.SQLConnection and
flash.data.SQLStatement
3.Open the database connection
4.Specify the connection and SQL query to run
17. How do you use it?
1.Create a File reference
2.Create an instance of flash.data.SQLConnection and
flash.data.SQLStatement
3.Open the database connection
4.Specify the connection and SQL query to run
5.Run SQLStatement.execute()
19. How do you use it?
import flash.filesystem.File;
import flash.data.*;
var dbFile:File = File.applicationStorageDirectory. ↵
resolvePath(quot;contacts.dbquot;);
20. How do you use it?
import flash.filesystem.File;
import flash.data.*;
var dbFile:File = File.applicationStorageDirectory. ↵
resolvePath(quot;contacts.dbquot;);
var sqlConn:SQLConnection = new SQLConnection();
var sqlStatement:SQLStatement = new SQLStatement();
21. How do you use it?
import flash.filesystem.File;
import flash.data.*;
var dbFile:File = File.applicationStorageDirectory. ↵
resolvePath(quot;contacts.dbquot;);
var sqlConn:SQLConnection = new SQLConnection();
var sqlStatement:SQLStatement = new SQLStatement();
sqlConn.open(dbFile);
22. How do you use it?
import flash.filesystem.File;
import flash.data.*;
var dbFile:File = File.applicationStorageDirectory. ↵
resolvePath(quot;contacts.dbquot;);
var sqlConn:SQLConnection = new SQLConnection();
var sqlStatement:SQLStatement = new SQLStatement();
sqlConn.open(dbFile);
sqlStatement.sqlConnection = sqlConn;
sqlStatement.text = quot;SELECT * FROM contactsquot;;
23. How do you use it?
import flash.filesystem.File;
import flash.data.*;
var dbFile:File = File.applicationStorageDirectory. ↵
resolvePath(quot;contacts.dbquot;);
var sqlConn:SQLConnection = new SQLConnection();
var sqlStatement:SQLStatement = new SQLStatement();
sqlConn.open(dbFile);
sqlStatement.sqlConnection = sqlConn;
sqlStatement.text = quot;SELECT * FROM contactsquot;;
sqlStatement.execute();
var result:Array = sqlStatement.getResult().data;
25. Synchronous versus Async
Synchronous - blocks application until result is available
var sqlConn:SQLConnection = new SQLConnection();
sqlConn.open(dbFile);
var result:SQLResult = sqlConn.getResult().result;
26. Synchronous versus Async
Synchronous - blocks application until result is available
var sqlConn:SQLConnection = new SQLConnection();
sqlConn.open(dbFile);
var result:SQLResult = sqlConn.getResult().result;
Asynchronous - uses events and event listeners
var sqlConn:SQLConnection = new SQLConnection();
sqlConn.addEventListener(SQLResultEvent.RESULT, onSQLResult);
sqlConn.addEventListener(SQLResultEvent.ERROR,onSQLError);
sqlConn.openAsync(dbFile);
38. Storage types
NULL - NULL value (null)
INTEGER - signed integer (int)
REAL - floating point (Number)
39. Storage types
NULL - NULL value (null)
INTEGER - signed integer (int)
REAL - floating point (Number)
TEXT - UTF16 text string (String)
40. Storage types
NULL - NULL value (null)
INTEGER - signed integer (int)
REAL - floating point (Number)
TEXT - UTF16 text string (String)
BLOB - blob of data
42. SQLStatement Parameters
The parameters feature protects your SQL statements
from SQL injection
var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.sqlConnection = sqlConn;
sqlStatement.text = quot;SELECT * FROM contacts WHERE id = @IDquot;;
sqlStatement.parameters[quot;@IDquot;] = someVariable;
sqlStatement.execute();
43. SQLStatement Parameters
The parameters feature protects your SQL statements
from SQL injection
var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.sqlConnection = sqlConn;
sqlStatement.text = quot;SELECT * FROM contacts WHERE id = @IDquot;;
sqlStatement.parameters[quot;@IDquot;] = someVariable;
sqlStatement.execute();
You can use the @ or : character to denote a
parameter to be replaced
sqlStatement.parameters[quot;:NAMEquot;] = someVariable;
45. SQLStatement Parameters
Using the ? character you can have unnamed
parameters and an index based array
var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.sqlConnection = sqlConn;
sqlStatement.text = quot;SELECT * FROM contacts WHERE name = ? ↵
AND lastname = ?quot;;
sqlStatement.parameters[0] = quot;Peterquot;;
sqlStatement.parameters[1] = quot;Elstquot;;
sqlStatement.execute();
47. Result Paging
Paging allows you to limit the amount of rows you get
returned when doing a select operation
var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.sqlConnection = sqlConn;
sqlStatement.text = quot;SELECT * FROM contactsquot;;
sqlStatement.execute(10);
48. Result Paging
Paging allows you to limit the amount of rows you get
returned when doing a select operation
var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.sqlConnection = sqlConn;
sqlStatement.text = quot;SELECT * FROM contactsquot;;
sqlStatement.execute(10);
You can get the next batch of rows returned by calling
the next method on the SQLStatement instance
sqlStatement.next();
51. flash.data.SQLResult
SQLResult.data - array of objects for each row
of the result
SQLResult.complete - returns a boolean indicating
whether or not the full result was shown
52. flash.data.SQLResult
SQLResult.data - array of objects for each row
of the result
SQLResult.complete - returns a boolean indicating
whether or not the full result was shown
SQLResult.lastInsertRowID - return id for the last
row that was inserted
53. flash.data.SQLResult
SQLResult.data - array of objects for each row
of the result
SQLResult.complete - returns a boolean indicating
whether or not the full result was shown
SQLResult.lastInsertRowID - return id for the last
row that was inserted
SQLResult.rowsAffected - number of rows affected
by an insert, update or delete operation
56. Transactions
Transactions allow multiple SQL statements to run
within one write operation to the database
Much more optimized way of handling large insert
operations, allows rollback of the complete transaction
if an error occurs
63. Database schema
Allows you to introspect tables, views, columns,
indices, triggers
var sqlConn:SQLConnection = new SQLConnection();
sqlConn.open(dbFile);
sqlConn.loadSchema();
var result:SQLSchemaResult = sqlConn.getSchemaResult();
var table:SQLTableSchema = result.tables[0];
var column:SQLColumnSchema = table.columns[0];
trace(column.name);
// returns name of the first column in the first table
71. SQLite synchronisation
Synchronizing an online and offline SQLite database
Different strategies
Online database overwrites offline
Check timestamp on each row, new overwrites old
88. Contact me
Questions, comments, feedback?
Email: info@peterelst.com
Blog: www.peterelst.com
Twitter: www.twitter.com/peterelst
LinkedIn: www.linkedin.com/in/peterelst
Thanks and enjoy the rest of the day!