SELECT INTO Statements
You can use the SELECT INTO statement to export formatted data to a file.
Data Export with an SQL Query
The following query exports data into a file formatted in comma-separated values (CSV):
SELECT Id, Name INTO [csv://Accounts.txt] FROM [Accounts] WHERE Type = 'Bank'You can specify other formats in the file URI. The possible delimiters are tab, semicolon, and comma with the default being a comma. The following example exports tab-separated values:
SELECT Id, Name INTO [csv://Accounts.txt;delimiter=tab] FROM [Accounts] WHERE Type = 'Bank'
C#
String connectionString = " If using an online instance: OAuthClientId=YourClientId;OAuthClientSecret=YourClientSecret;CompanyFileId=yourCompanyFileId;CallbackURL=http://localhost:33333;User=companyFileUser;Password=companyFilePassword; If using an on premise instance: InitiateOAuth=OFF;URL=http://localhost:8080/accountright;CompanyFileId=327eed10-9615-4e5e-bd9e-ae2cc00e2c70;User=companyFileUser;Password=companyFilePassword;"; using (MYOBConnection connection = new MYOBConnection(connectionString)) { MYOBCommand cmd = new MYOBCommand("SELECT Id, Name INTO [csv://Accounts.txt] FROM [Accounts] WHERE Type = 'Bank' ", connection); int rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = " If using an online instance: OAuthClientId=YourClientId;OAuthClientSecret=YourClientSecret;CompanyFileId=yourCompanyFileId;CallbackURL=http://localhost:33333;User=companyFileUser;Password=companyFilePassword; If using an on premise instance: InitiateOAuth=OFF;URL=http://localhost:8080/accountright;CompanyFileId=327eed10-9615-4e5e-bd9e-ae2cc00e2c70;User=companyFileUser;Password=companyFilePassword;" Using connection As New MYOBConnection(connectionString) Dim cmd As New MYOBCommand("SELECT Id, Name INTO [csv://Accounts.txt] FROM [Accounts] WHERE Type = 'Bank'", connection) Dim rowsAffected As Integer = cmd.ExecuteNonQuery() End UsingYou can specify other file formats in the URI. The following example exports tab-separated values:
C#
String connectionString = " If using an online instance: OAuthClientId=YourClientId;OAuthClientSecret=YourClientSecret;CompanyFileId=yourCompanyFileId;CallbackURL=http://localhost:33333;User=companyFileUser;Password=companyFilePassword; If using an on premise instance: InitiateOAuth=OFF;URL=http://localhost:8080/accountright;CompanyFileId=327eed10-9615-4e5e-bd9e-ae2cc00e2c70;User=companyFileUser;Password=companyFilePassword;"; using (MYOBConnection connection = new MYOBConnection(connectionString)) { MYOBCommand cmd = new MYOBCommand("SELECT * INTO [Accounts] IN [csv://filename=c:/Accounts.csv;delimiter=tab] FROM [Accounts] WHERE Type = 'Bank'", connection); int rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = " If using an online instance: OAuthClientId=YourClientId;OAuthClientSecret=YourClientSecret;CompanyFileId=yourCompanyFileId;CallbackURL=http://localhost:33333;User=companyFileUser;Password=companyFilePassword; If using an on premise instance: InitiateOAuth=OFF;URL=http://localhost:8080/accountright;CompanyFileId=327eed10-9615-4e5e-bd9e-ae2cc00e2c70;User=companyFileUser;Password=companyFilePassword;" Using connection As New MYOBConnection(connectionString) Dim cmd As New MYOBCommand("SELECT * INTO [Accounts] IN [csv://filename=c:/Accounts.csv;delimiter=tab] FROM [Accounts] WHERE Type = 'Bank'", connection) Dim rowsAffected As Integer = cmd.ExecuteNonQuery() End Using