- •Add Cartographic Frame
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор Autolabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Оператор Call
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Оператор Commit Table
- •Оператор Continue
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложение Control RadioGroup
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Оператор Create Collection
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create MultiPoint
- •Оператор Create Point
- •Оператор Create PrismMap
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Graph
- •оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Оператор Line Input
- •Процедура Main
- •Оператор Map
- •Оператор Menu Bar
- •Оператор Metadata
- •Оператор Note
- •Оператор Objects Check
- •Оператор Objects Clean
- •Оператор Objects Combine
- •Оператор Objects Disaggregate
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Snap
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Table
- •Оператор Open Window
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Оператор Server Commit
- •Оператор Server Create Map
- •Оператор Server Create Table
- •Оператор Server Create Style
- •Оператор Server Disconnect
- •Оператор Server Fetch
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File TimeOut
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set PrismMap
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Objects Move
- •Оператор Objects Offset
- •Функция Offset()
- •Функция SphericalOffset()
- •Функция SphericalOffsetXY()
- •Функция CartesianOffsetXY()
- •Функция LayerInfo( )
- •Оператор Register
- •Оператор Server Create Map
- •Функция TableInfo( )
Оператор Server Fetch
Оператор Server Fetch
Назначение:
Осуществляет выборку записей результирующего набора с удаленного сервера данных.
Синтаксис:
Server StatementNumber Fetch [NEXT|PREV|FIRST|LAST|[REC]recno] или
Server StatementNumber Fetch INTO Table [FILE path]
StatementNumber – целое значение, номер SQL-оператора.
Описание:
Оператор Server Fetch извлекает записи результирующего набора (заданного значением State mentNumber SQL-оператора, создавшего набор) из сервера данных. Для построчной выборки данных они помещаются в локальную область хранения, и могут быть связаны с переменными посредством команд Server Bind Column. Для выборки данных по столбцам применяется функция Server_ColumnInfo(SRV_COL_INFO_VALUE). Можно также в одной операции выбрать полный результирующий набор в таблицу MapInfo, используя предложение INTO Table.
Выполнение операторов Server Fetch и Server Fetch Into прерывается с установкой кода ошибки ERR() = ERR_SRV_ESC при нажатии пользователем клавиши ESC, что позволяет Вашему MapBasic-приложению использовать команды Server Fetch для обработки этого события.
По исполнении оператора Server Fetch Into таблица MapInfo фиксируется, и для нее нет незавершенных транзакций. Все символьные поля, превышающие 254 байта, усекаются; все двоичные (неструктурированные) поля загружаются в таблицу как шестнадцатиричные символьные строки двойной длины. Имена столбцов в загруженной таблице будут использовать псевдонимы столбцов, если в запросе задавались псевдонимы.
Обработка Null8значений
Если был исполнен SQL-оператор Select с последующей выборкой записи, включающей столбец таблицы, который содержит пустое (null) значение, то происходит следующее. Поскольку в MapInfo не поддерживается концепция пустых значений в таблице или переменной, используется значение по умолчанию в рамках домена для соответствующего типа данных – значение MapBasic-переменной, декларированной в инструкции Dim, но не инициализированной. Однако при этом обеспечивается индикация возврата пустого значения.
Для связанных переменных (см. оператор Server Bind Column) могут быть заданы переменные состояния, значения которых будут указывать на возврат пустого значения при выборке. Для столбцов, не связанных с переменными, функция Server_ColumnInfo() с атрибутом SRV_COL_INFO_STATUS будет возвращать статус столбца, информирующий о возможно пустом значении.
Как MapInfo интерпретирует типы данных?
Смотрите в Приложении 4 Руководства пользователя MapBasic информацию о том, как MapInfo интерпретирует типы данных.
Справочник MapBasic |
505 |
Оператор Server Fetch
Ошибки:
Оператор Server n Fetch Into Table будет генерировать ошибку для любых неудачных попыток вставки записей в локальную таблицу MapInfo. Операторы типа Server n Fetch [Next|Prev|recno] генерируют ошибки, если запрашиваемой записи нет в наличии.
Примеры:
’Пример выборки в таблицу MapInfo Dim hdbc, hstmt As Integer
hdbc = Server_Connect(”QELIB”, ”DSN=ORACLE7;DLG=1”) hstmt = Server_Execute(hdbc, ”Select * from emp”) Server hstmt Fetch Into ”MyEmp”
Server hstmt Close
’Пример выборки с использованием связанных переменных Dim hdbc, hstmt As Integer
dim NameVar, AddrVar as String
dim NameStatus, AddrStatus as Integer
hdbc = Server_Connect(”QELIB”, ”DSN=ORACLE7;DLG=1”)
hstmt = Server_Execute(hdbc, ”Select Name, Addr from emp”) Server hstmt Bind Column 1 to NameVar, NameStatus
Server hstmt Bind Column 2 to AddrVar, AddrStatus Server hstmt Fetch Next
While Not Server_Eot(hstmt)
Print ”Name = ” + NameVar + ”; Address = ” + AddrVar Server hstmt Fetch Next
Wend
Смотрите также:
Server_ColumnInfo()
506 |
Справочник MapBasic |
Функция Server_GetodbcHConn( )
Функция Server_GetodbcHConn( )
Назначение:
Возвращает целое значение, содержащее указатель связи ODBC, ассоциированной со связью с сервером данных.
Синтаксис:
Server_GetodbcHConn (ConnectionNumber)
ConnectionNumber - целое значение возвращаемое функцией Server_Connect, которая определяет номер соединения с сервером данных.
Описание:
Эта функция возвращает целое значение, содержащее указатель связи ODBC, ассоциированной со связью с сервером данных. Это позволяет Вам любую функцию в ODBC DLL, чтобы расширить функциональные возможности, посредством использования MapBasic операторов типа Server.
Пример:
’* Нахождение связи с сервером данных
DECLARE FUNCTION SQLGetInfo LIB ”ODBC32.DLL” (BYVAL odbchdbc AS INTE GER, BYVAL infoflag AS INTEGER, val AS STRING, BYVAL len AS INTEGER, outlen AS INTEGER) AS INTEGER
Dim rc, outlen, hdbc, odbchdbc AS INTEGER
Dim DBName AS STRING
’ Связь с сервером данных
hdbc |
= |
Server_Connect(”QELIB”, ”DLG=1”) |
|
odbchdbc |
|
= Server_GetodbcHConn(hdbc) ’ получение указателя связи ODBC |
|
’ Получение имени базы |
данных из ODBC |
||
DBName |
= |
STRING$(33, |
”0”) ’ Инициализация выходного буфера |
rc = SQLGetInfo(odbchdbc, 17 , DBName, 40, outlen) ’ получение имени базы данных ODBC
’ Отображение результатов (имя базы данных) if rc <> 0 THEN
Note ”SQLGetInfo Error rc=” + rc + ”, outlen=” + outlen else
Note ”Connected to Database: ” + DBName end if
Смотрите также:
Server_GetodbcHStmt()
Справочник MapBasic |
507 |
Функция Server_GetodbcHStmt( )
Функция Server_GetodbcHStmt( )
Назначение:
Возвращает указатель оператора ODBC, ассоциированный с MapBasic-оператором типа Server.
Синтаксис:
Server_GetodbcHStmt(StatementNumber)
StatementNumber - целое значение, возвращаемое функцией Server_Execute(), которое указывает на результирующий набор исполненного SQL-оператора.
Описание:
Эта функция возвращает указатель оператора ODBC, ассоциированный с MapBasic-оператором типа Server. Это позволяет Вам вызывать любую функцию ODBC, для расширения функциональных возможностей посредством использования MapBasic-операторов типа Server.
Пример:
’Нахождение номеров строк, которые будут обновляться Dim rc, outlen, hdbc, hstmt, odbchstmt AS INTEGER
Dim RowsUpdated AS INTEGER
’Нахождение номеров строк, подлежащих обновлению
DECLARE FUNCTION SQLRowCount LIB ”ODBC32.DLL” (BYVAL odbchstmt AS INTE GER, rowcnt AS INTEGER) AS INTEGER
hdbc = Server_Connect(”QELIB”, ”DLG=1”)
hstmt = Server_Execute(hdbc, ”UPDATE TIML.CUSTOMER SET STATE=’NY’ WHERE STATE=’NY’”)
odbchstmt = Server_GetodbcHStmt(hstmt) rc = SQLRowCount(odbchstmt, RowsUpdated)
Note ”Updated ” + RowsUpdated + ” New customers to Tier 1”
Смотрите также:
Server_GetodbcHConn( )
508 |
Справочник MapBasic |
Оператор Server Link Table
Оператор Server Link Table
Назначение:
Создает связанную таблицу. Здесь приводится синтаксис для версии 4.1, который позволяет создавать связанную таблицу, используя существующую связь с базой данных.
Синтаксис1:
Server Link Table
SQLQuery
Using ConnectionString Into TableName
[ File FileSpec]
[ ReadOnly ]
Синтаксис2:
Server ConnectionNumber Link Table SQLQuery
Into TableName
[ File FileSpec]
[ ReadOnly ]
ConnectionNumber – номер соединения с сервером данных.
SQLQuery – SQL-оператор запроса (на активном диалекте с добавлением объектных ключевых слов), который генерирует результирующий набор. Таблица MapInfo связывается именно с этим результирующим набором.
ConnectionString – строка, используемая для подключения к серверу базы данных (см. описание функции Server Connect).
TableName – псевдоним создаваемой таблицы MapInfo.
FileSpec – имя табличного файла. Если этот параметр отсутствует, имя файла генерируется в текущем каталоге диска на базе псевдонима таблицы. Если параметр FileSpec задан, а табличный файл с указанным именем уже существует, то генерируется ошибка.
ReadOnly – задает использование таблицы только для чтения.
Описание:
Этот оператор создает связанную таблицу MapInfo на диске. Эта таблица открывается и к ней обращается запрос. Связанная таблица обрабатывается как обычная таблица MapInfo в большинстве случаев, кроме следующих:
оператор Alter Table не выполняется для связанных таблиц;
связанные таблицы не могут быть упакованы;
в список диалога “Упаковка” эти таблицы не включаются.
Синтаксис Server Link Table используется для установки связи сервера базы данных и связанной таблицы. Server ConnectionNumber Link Table используются для связи таблицы с подключенным сервером базы данных.
Связанные таблицы содержат информацию для переустановки связи с удаленным сервером и идентификации удаленных данных, которые обновляются. Эта информация хранится в виде метаданных в TAB-файле.
Справочник MapBasic |
509 |
Оператор Server Link Table
Отсутствие ключевого слова ReadOnly не означает возможности редактирования таблицы. Связанная таблица может быть запрещена для записи при следующих обстоятельствах:
1) результирующий набор разрешен только для чтения; 2) результирующий набор не содержит первичного ключа; 3) в результирующем наборе отсутствуют редактируемые столбцы; 4) указан режим ReadOnly.
Примеры:
Declare Sub Main
Sub Main
Open table ”C:\mapinfo\data\states.tab”
Server Link Table ”Select * from Statecap” Using ”DSN=MS Access;DBQ=C:\MSOFFICE\ACCESS\DB1.mdb” Into test File ”C:\tmp\test” Map From Test,States
End Sub ’Main
Declare Sub Main Sub Main
Dim ConnNum As Integer
ConnNum = Server_Connect(”qelib”,”DSN=SQS;PWD=sysmal;SRVR=seneca”) Server ConnNum Link Table
”Select * from CITY_1” Into temp
Map From temp
Server ConnNum Disconnect End Sub
Смотрите также:
Unlink, Drop Table, Save File, Commit Table, Rollback Table, Close Table, Server Refresh
510 |
Справочник MapBasic |
Функция Server_NumCols( )
Функция Server_NumCols( )
Назначение:
Возвращает число столбцов в результирующем наборе.
Синтаксис:
Server_NumCols(StatementNumber)
StatementNumber – целое значение, номер SQL-оператора.
Возвращаемое значение:
Целое.
Описание:
Функция Server_NumCols() возвращает число столбцов в результирующем наборе, ссылка на который осуществляется по указателю StatementNumber.
Пример:
Dim hdbc, hstmt As Integer
hdbc = Server_Connect(”QELIB”, ”DSN=ORACLE7;DLG=1”)
hstmt = Server_Execute(hdbc, ”Select Name, Addr from emp”) Print ”Number of columns = ” + Server_NumCols(hstmt)
Смотрите также:
Server_ColumnInfo()
Справочник MapBasic |
511 |
Функция Server_NumDrivers( )
Функция Server_NumDrivers( )
Назначение:
Возвращает число интерфейсных модулей удаленного доступа к базам данных, установленных в данный момент для доступа из MapInfo.
Синтаксис:
Server_NumDrivers()
Возвращаемое значение:
Целое.
Описание:
Функция Server_NumDrivers() возвращает число модулей интерфейса удаленного доступа, через которые может осуществляться соединение с удаленным сервером данных, установленных для использования приложением MapInfo.
Пример:
Print ”Всего драйверов = ” + Server_NumDrivers()
Смотрите также:
Server_DriverInfo()
512 |
Справочник MapBasic |