0 Members and 1 Guest are viewing this topic.
' ########################################################################################' Microsoft Windows' File: ADOXEX_RenameTable.bas' Contents: ADOX example' Demonstrates how to rename a table using ADOX.' Compilers: PBWIN 10+, PBCC 6+' Headers: Windows API headers 2.03+' Copyright (c) 2011 José Roca. Freeware. Use at your own risk.' Portions Copyright (c) Microsoft Corporation. All Rights Reserved.' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.' ########################################################################################' CSED_PBCC ' Use PBCC compiler#COMPILE EXE#DIM ALL#INCLUDE ONCE "ADO.INC"' ========================================================================================' Main' ========================================================================================FUNCTION PBMAIN LOCAL pConnection AS ADOConnection LOCAL pCatalog AS ADOXCatalog LOCAL pTables AS ADOXTables LOCAL pTable AS ADOXTable LOCAL ConStr AS WSTRING ' // Create a Connection object pConnection = NEWCOM "ADODB.Connection" IF ISNOTHING(pConnection) THEN EXIT FUNCTION ' // Create a Catalog object pCatalog = NEWCOM "ADOX.Catalog" IF ISNOTHING(pCatalog) THEN EXIT FUNCTION TRY ' // Connection String - Change it if needed ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biblio.mdb" ' // Open the connection pConnection.Open ConStr ' // Set the ActiveConnection property of the Catalog pCatalog.putref_ActiveConnection = pConnection ' // Get a reference to the Tables collection pTables = pCatalog.Tables ' // Get a reference to the Contacts3 table pTable = pTables.Item("Authors") pTable.Name = "Authors2" STDOUT "Table renamed" CATCH ' // Display error information STDOUT AdoGetErrorInfo(pConnection, OBJRESULT) FINALLY ' // Release the Table object and the Tables collection pTable = NOTHING pTables = NOTHING ' // Close the connection IF pConnection.State = %adStateOpen THEN pConnection.Close END TRY ' // Release the objects pCatalog = NOTHING pConnection = NOTHING WAITKEY$END FUNCTION' ========================================================================================
' ########################################################################################' Microsoft Windows' File: ADOXEX_TableExists.bas' Contents: ADOX example' Checks if a table exists in the database' Compilers: PBWIN 10+, PBCC 6+' Headers: Windows API headers 2.03+' Copyright (c) 2011 José Roca. Freeware. Use at your own risk.' Portions Copyright (c) Microsoft Corporation. All Rights Reserved.' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.' ########################################################################################' CSED_PBCC ' Use PBCC compiler#COMPILE EXE#DIM ALL#INCLUDE ONCE "ADO.INC"' ========================================================================================' Checks if a table exists in the database' ========================================================================================FUNCTION ADOX_TableExists (BYVAL pConnection AS ADOConnection, BYVAL bstrTableName AS WSTRING) AS LONG LOCAL pCatalog AS ADOXCatalog LOCAL pTables AS ADOXTables LOCAL pTable AS ADOXTable LOCAL nCount AS LONG LOCAL i AS LONG IF ISNOTHING(pConnection) THEN EXIT FUNCTION ' // Create a Catalog object pCatalog = NEWCOM "ADOX.Catalog" IF ISNOTHING(pCatalog) THEN EXIT FUNCTION ' // Set the ActiveConnection property of the Catalog pCatalog.putref_ActiveConnection = pConnection ' // Get a reference to the Tables collection pTables = pCatalog.Tables ' // Get the number of objects of the collection nCount = pTables.Count IF nCount = 0 THEN EXIT FUNCTION pTable = pTables.Item(bstrTableName) IF ISTRUE ISOBJECT(pTable) THEN FUNCTION = %TRUE pTable = NOTHING ' // Release the collection pTables = NOTHING ' // Release the Catalog object pCatalog = NOTHINGEND FUNCTION' ========================================================================================' ========================================================================================' Main' ========================================================================================FUNCTION PBMAIN LOCAL pConnection AS ADOConnection LOCAL ConStr AS WSTRING ' // Create a Connection object pConnection = NEWCOM "ADODB.Connection" IF ISNOTHING(pConnection) THEN EXIT FUNCTION TRY ' // Connection String - Change it if needed ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biblio.mdb" ' // Open the connection pConnection.Open ConStr IF ADOX_TableExists(pConnection, "Publishers") THEN STDOUT "Table exists" ELSE STDOUT "Table doesn't exist" END IF CATCH ' // Display error information STDOUT AdoGetErrorInfo(pConnection, OBJRESULT) END TRY ' // Release the connection pConnection = NOTHING WAITKEY$END FUNCTION' ========================================================================================
' ########################################################################################' Microsoft Windows' File: ADOXEX_UpdatView.bas' Contents: ADOX example' The following example demostrates how to use the Command property to update the text of a view.' Compilers: PBWIN 10+, PBCC 6+' Headers: Windows API headers 2.03+' Copyright (c) 2011 José Roca. Freeware. Use at your own risk.' Portions Copyright (c) Microsoft Corporation. All Rights Reserved.' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.' ########################################################################################' CSED_PBCC ' Use PBCC compiler#COMPILE EXE#DIM ALL#INCLUDE ONCE "ADO.INC"' ========================================================================================' Main' ========================================================================================FUNCTION PBMAIN LOCAL pConnection AS ADOConnection LOCAL pCatalog AS ADOXCatalog LOCAL pCommand AS ADOCommand LOCAL vCommand AS VARIANT LOCAL pViews AS ADOXViews LOCAL pView AS ADOXView LOCAL ConStr AS WSTRING ' // Create a Connection object pConnection = NEWCOM "ADODB.Connection" IF ISNOTHING(pConnection) THEN EXIT FUNCTION ' // Create a Catalog object pCatalog = NEWCOM "ADOX.Catalog" IF ISNOTHING(pCatalog) THEN EXIT FUNCTION TRY ' // Connection String - Change it if needed ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biblio.mdb" ' // Open the connection pConnection.Open ConStr ' // Set the ActiveConnection property of the Catalog pCatalog.putref_ActiveConnection = pConnection ' // Get a reference to the Views collection pViews = pCatalog.Views ' // Get a reference to the "AllAuthors" view pView = pViews.Item("AllAuthors") ' // Get the Command of the View vCommand = pView.Command pCommand = vCommand ' // Update the CommandText property of the Command pCommand.CommandText = "SELECT Author FROM Authors" pCommand = NOTHING ' // Modify the Command of the View pView.Command = vCommand vCommand = EMPTY STDOUT "View updated" CATCH ' // Display error information STDOUT AdoGetErrorInfo(pConnection, OBJRESULT) FINALLY ' // Release the collection pView = NOTHING pViews = NOTHING ' // Close the connection IF pConnection.State = %adStateOpen THEN pConnection.Close END TRY ' // Release the objects pCatalog = NOTHING pConnection = NOTHING WAITKEY$END FUNCTION' ========================================================================================
' ########################################################################################' Microsoft Windows' File: ADOXEX_Views.bas' Contents: ADOX example' The following example retrieves the fields of the "All Titles" view.' Compilers: PBWIN 10+, PBCC 6+' Headers: Windows API headers 2.03+' Copyright (c) 2011 José Roca. Freeware. Use at your own risk.' Portions Copyright (c) Microsoft Corporation. All Rights Reserved.' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.' ########################################################################################' CSED_PBCC ' Use PBCC compiler#COMPILE EXE#DIM ALL#INCLUDE ONCE "ADO.INC"' ========================================================================================' Main' ========================================================================================FUNCTION PBMAIN LOCAL pConnection AS ADOConnection LOCAL pCatalog AS ADOXCatalog LOCAL pViews AS ADOXViews LOCAL pView AS ADOXView LOCAL ConStr AS WSTRING LOCAL nCount AS LONG LOCAL i AS LONG ' // Create a Connection object pConnection = NEWCOM "ADODB.Connection" IF ISNOTHING(pConnection) THEN EXIT FUNCTION ' // Create a Catalog object pCatalog = NEWCOM "ADOX.Catalog" IF ISNOTHING(pCatalog) THEN EXIT FUNCTION TRY ' // Connection String - Change it if needed ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biblio.mdb" ' // Open the connection pConnection.Open ConStr ' // Set the ActiveConnection property of the Catalog pCatalog.putref_ActiveConnection = pConnection ' // Get a reference to the Views collection pViews = pCatalog.Views ' // Get the number of objects in the collection nCount = pViews.Count IF nCount = 0 THEN EXIT TRY ' // Enumerate the objects FOR i = 0 TO nCount - 1 pView = pViews.Item(i) PRINT "Name: " pView.Name pView = NOTHING NEXT CATCH ' // Display error information STDOUT AdoGetErrorInfo(pConnection, OBJRESULT) FINALLY ' // Release the collection pViews = NOTHING ' // Close the connection IF pConnection.State = %adStateOpen THEN pConnection.Close END TRY ' // Release the objects pCatalog = NOTHING pConnection = NOTHING WAITKEY$END FUNCTION' ========================================================================================