Topics
All
MacOS
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server
Client
Old
Deprecated
Guides
Examples
Videos
New in version:
12.2
12.3
12.4
12.5
13.0
13.1
13.2
13.3
13.4
13.5
Statistic
FMM
Blog
Inserts records in SQL database from records in memory.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
FM FMSQL SQL | 6.4 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameter | Description | Example | Flags |
---|---|---|---|
SQLref | The reference number returned by FM.SQL.Execute function. | $SQLRef | |
Connection | The connection reference number gained with SQL.NewConnection. | $Connection | |
InsertTableName | The name of the table to insert record into. | "Assets" | |
FieldNames | A list of field names for the insert. Empty entries in the list are ignored. |
"Model¶Names" | |
StartRow | The index of the start row. First row is 0. Pass -1 or nothing for default which is starting with row 0. |
-1 | Optional |
EndRow | The index of the end row. First row is 0. Last Row would be FM.SQL.RowCount-1. Pass -1 to use all rows and the plugin will internally use RowCount-1. |
-1 | Optional |
Replace | Available in MBS FileMaker Plugin 7.1 or newer. Pass for regular INSERT statements. Set to 1 to get REPLACE statements, which overwrite existing entries. Currently only available for MySQL and databases with same syntax. |
0 | Optional |
Returns OK or error.
Insert Records to SQL database:
Set Variable [$InsertResult; Value:MBS( "FM.SQL.InsertRecordsToSQL"; $Records; $connection; $BaseTableName; $FieldNames)]
Copy records to SQLite:
Set Variable [ $Connection ; Value: MBS("SQL.NewConnection") ]
# Tell plugin where SQLite library is
Set Variable [ $result ; Value: MBS("SQL.InternalSQLiteLibrary.Activate") ]
# Tell plugin we want to use SQLite
Set Variable [ $result ; Value: MBS("SQL.SetClient"; $Connection; "SQLite") ]
# Connect to database in read/write/create mode. Creates new file if none exists.
Set Variable [ $result ; Value: MBS("SQL.Connect"; $Connection; "/Users/cs/Desktop/mydatabase.sqlite") ]
If [ $result = "OK" ]
# Query records in FileMaker
Set Variable [ $Records ; Value: MBS( "FM.SQL.Execute"; Get(FileName); "SELECT FirstName, LastName, Birthday FROM People") ]
# Transfer to other database
Set Variable [ $r ; Value: MBS( "FM.SQL.InsertRecordsToSQL"; $Records; $Connection; "People"; "FirstName¶LastName¶Birthday") ]
# Cleanup
Set Variable [ $result2 ; Value: MBS("SQL.Commit"; $Connection) ]
Set Variable [ $result2 ; Value: MBS( "FM.SQL.Release"; $Records ) ]
If [ $result ≠ "OK" ]
Show Custom Dialog [ "Error: " & $result ]
Else
Show Custom Dialog [ "Record exported." ]
End If
End If
Set Variable [ $result2 ; Value: MBS("SQL.FreeConnection"; $Connection) ]
This function checks for a license.
Created 1st August 2016, last changed 8th May 2023