VCOM:VectorWorks:Extension:IDBDatabase

From Vectorworks Developer
Jump to navigation Jump to search

.SDK|SDK ..SDK:Types|SDK Types ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference

Description

namespace VectorWorks::Extension

Interface

// ---------------------------------------------------------------------------------------------------
// {CDB4EBE8-D45C-42bf-83D3-0C0313BE26CE}
static const VWIID IID_DBDatabase	= { 0xcdb4ebe8, 0xd45c, 0x42bf, { 0x83, 0xd3, 0xc, 0x3, 0x13, 0xbe, 0x26, 0xce } };

class DYNAMIC_ATTRIBUTE IDBDatabase : public IVWUnknown
{
public:
	virtual VCOMError	VCOM_CALLTYPE Connect(const TXString& dsn, const TXString& user, const TXString& password) = 0;
	virtual VCOMError	VCOM_CALLTYPE ConnectWithBrowser(IDBConnectionString** outConnectionString) = 0;
	virtual	VCOMError	VCOM_CALLTYPE ConnectDriver(IDBConnectionString* inOutConnectionString) = 0;
	
	virtual	VCOMError	VCOM_CALLTYPE GetQueryBuilderInfo(IDBConnectionString* inOutQueryBuilder) = 0;

	virtual VCOMError	VCOM_CALLTYPE GetNumRows(const TXString& tableName, size_t& outCnt) = 0;
	virtual VCOMError	VCOM_CALLTYPE ListTables(bool includeViews, bool includeSystemTables, TXStringArray& outArrTables) = 0;
	virtual VCOMError	VCOM_CALLTYPE ListAvailableDataSources(TXStringArray& dataSources) = 0;
	virtual VCOMError	VCOM_CALLTYPE ListAllDrivers(TXStringArray& drivers) = 0;
	virtual VCOMError	VCOM_CALLTYPE ListAllColumns(const TXString& tableName, bool identifyKeyColumns, TVWArray_DBTableColumn& outArrColumns) = 0;

	virtual VCOMError	VCOM_CALLTYPE Execute(const TXString& sql) = 0;
	virtual VCOMError	VCOM_CALLTYPE Execute(const TXString& sql, Sint32& outResultCount) = 0;
	virtual VCOMError	VCOM_CALLTYPE ExecuteQuery(const TXString& sql, IDBResultSet** ppOutResultSet) = 0;
	virtual VCOMError	VCOM_CALLTYPE ExecuteQuery(const TXString& sql, ECursorType cursorType, bool bScrollable, IDBResultSet** ppOutResultSet) = 0;

	virtual VCOMError	VCOM_CALLTYPE Commit() = 0;
	virtual VCOMError	VCOM_CALLTYPE Rollback() = 0;

	virtual bool		VCOM_CALLTYPE IsOpened() = 0;
	virtual void		VCOM_CALLTYPE SetTimeout(Sint32 timeOut) = 0;
	virtual Sint32		VCOM_CALLTYPE GetTimeout() = 0;

	virtual TXString	VCOM_CALLTYPE GetLastErrorMessage() = 0;
	virtual TXString	VCOM_CALLTYPE GetLastErrorState() = 0;
	virtual Sint32		VCOM_CALLTYPE GetLastErrorCode() = 0;
	virtual TXString	VCOM_CALLTYPE GetLastErrorInternalDesc() = 0;

// Vectorworks 2012
public:
	virtual VCOMError	VCOM_CALLTYPE ConnectWithBrowserN(TXString& outConnectionString) = 0;
	virtual	VCOMError	VCOM_CALLTYPE ConnectDriverN(const TXString& connectionString) = 0;
	virtual VCOMError	VCOM_CALLTYPE GetDriverInfo(TXString& outDriverName, TXString& outDriverID, TXString& outServer, TXString& outDatabase) = 0;
	virtual VCOMError	VCOM_CALLTYPE ListAllColumnsN(const TXString& inTableName, bool inIdentifyKeyColumns, int driverNotToDoTheJob, TVWArray_DBTableColumn& outArrColumns) = 0;
	virtual VCOMError	VCOM_CALLTYPE GetNumRowsN(const TXString& inTableName, int driverNoToDoTheJob, size_t& outCnt) = 0;
	virtual VCOMError	VCOM_CALLTYPE ExecuteQueryN(const TXString& sql, int driverNoToDoTheJob, IDBResultSet** ppOutResultSet) = 0;

// Vectorworks 2013
public:
	virtual VCOMError	VCOM_CALLTYPE SetTransactionMode(ECommitMode commitMode) = 0;
	virtual bool		VCOM_CALLTYPE IsInTransactionMode() = 0;
	virtual bool		VCOM_CALLTYPE DoTableExists(const TXString& table) = 0;

// Vectorworks 2015
public:
	virtual VCOMError	VCOM_CALLTYPE CloseConnection() = 0;
};

Members

Connect
ConnectWithBrowser
ConnectDriver
GetQueryBuilderInfo
GetNumRows
ListTables
ListAvailableDataSources
ListAllDrivers
ListAllColumns
Execute
Execute
ExecuteQuery
ExecuteQuery
Commit
Rollback
IsOpened
SetTimeout
GetTimeout
GetLastErrorMessage
GetLastErrorState
GetLastErrorCode
GetLastErrorInternalDesc
ConnectWithBrowserN
ConnectDriverN
GetDriverInfo
ListAllColumnsN
GetNumRowsN
ExecuteQueryN
SetTransactionMode
IsInTransactionMode
DoTableExists
CloseConnection

Remarks

There is predefined type for smart VCOM pointer VCOMPtr to IDBDatabase interface:

typedef VCOMPtr<IDBDatabase>  IDBDatabasePtr;

Version

Available from: Vectorworks 2010

See Also

VCOM:VCOMPtr

[[VCOM:VCOMPtr]]