📄 sdsyb.pas
字号:
CS_OPT_THURSDAY = TCS_INT(4);
CS_OPT_FRIDAY = TCS_INT(5);
CS_OPT_SATURDAY = TCS_INT(6);
CS_OPT_SUNDAY = TCS_INT(7);
{* CS_OPT_DATEFORMAT *}
CS_OPT_FMTMDY = TCS_INT(1);
CS_OPT_FMTDMY = TCS_INT(2);
CS_OPT_FMTYMD = TCS_INT(3);
CS_OPT_FMTYDM = TCS_INT(4);
CS_OPT_FMTMYD = TCS_INT(5);
CS_OPT_FMTDYM = TCS_INT(6);
{* CS_OPT_ISOLATION *}
CS_OPT_LEVEL0 = TCS_INT(0);
CS_OPT_LEVEL1 = TCS_INT(1);
CS_OPT_LEVEL3 = TCS_INT(3);
{*******************************************************************************
** Open Client/Server capabilities.
*******************************************************************************}
{*
** Capability types.
*}
CS_CAP_REQUEST = TCS_INT(1);
CS_CAP_RESPONSE = TCS_INT(2);
{*
** Special capability value to set/get all capability values at once.
*}
CS_ALL_CAPS = TCS_INT(2700);
{*
** Capability request values.
*}
CS_REQ_LANG = TCS_INT( 1);
CS_REQ_RPC = TCS_INT( 2);
CS_REQ_NOTIF = TCS_INT( 3);
CS_REQ_MSTMT = TCS_INT( 4);
CS_REQ_BCP = TCS_INT( 5);
CS_REQ_CURSOR = TCS_INT( 6);
CS_REQ_DYN = TCS_INT( 7);
CS_REQ_MSG = TCS_INT( 8);
CS_REQ_PARAM = TCS_INT( 9);
CS_DATA_INT1 = TCS_INT(10);
CS_DATA_INT2 = TCS_INT(11);
CS_DATA_INT4 = TCS_INT(12);
CS_DATA_BIT = TCS_INT(13);
CS_DATA_CHAR = TCS_INT(14);
CS_DATA_VCHAR = TCS_INT(15);
CS_DATA_BIN = TCS_INT(16);
CS_DATA_VBIN = TCS_INT(17);
CS_DATA_MNY8 = TCS_INT(18);
CS_DATA_MNY4 = TCS_INT(19);
CS_DATA_DATE8 = TCS_INT(20);
CS_DATA_DATE4 = TCS_INT(21);
CS_DATA_FLT4 = TCS_INT(22);
CS_DATA_FLT8 = TCS_INT(23);
CS_DATA_NUM = TCS_INT(24);
CS_DATA_TEXT = TCS_INT(25);
CS_DATA_IMAGE = TCS_INT(26);
CS_DATA_DEC = TCS_INT(27);
CS_DATA_LCHAR = TCS_INT(28);
CS_DATA_LBIN = TCS_INT(29);
CS_DATA_INTN = TCS_INT(30);
CS_DATA_DATETIMEN = TCS_INT(31);
CS_DATA_MONEYN = TCS_INT(32);
CS_CSR_PREV = TCS_INT(33);
CS_CSR_FIRST = TCS_INT(34);
CS_CSR_LAST = TCS_INT(35);
CS_CSR_ABS = TCS_INT(36);
CS_CSR_REL = TCS_INT(37);
CS_CSR_MULTI = TCS_INT(38);
CS_CON_OOB = TCS_INT(39);
CS_CON_INBAND = TCS_INT(40);
CS_CON_LOGICAL = TCS_INT(41);
CS_PROTO_TEXT = TCS_INT(42);
CS_PROTO_BULK = TCS_INT(43);
CS_REQ_URGNOTIF = TCS_INT(44);
CS_DATA_SENSITIVITY = TCS_INT(45);
CS_DATA_BOUNDARY = TCS_INT(46);
CS_PROTO_DYNAMIC = TCS_INT(47);
CS_PROTO_DYNPROC = TCS_INT(48);
CS_DATA_FLTN = TCS_INT(49);
CS_DATA_BITN = TCS_INT(50);
CS_OPTION_GET = TCS_INT(51);
CS_DATA_INT8 = TCS_INT(52);
CS_DATA_VOID = TCS_INT(53);
CS_DOL_BULK = TCS_INT(54);
CS_OBJECT_JAVA1 = TCS_INT(55);
CS_OBJECT_CHAR = TCS_INT(56);
CS_DATA_COLUMNSTATUS = TCS_INT(57);
CS_OBJECT_BINARY = TCS_INT(58);
CS_REQ_RESERVED1 = TCS_INT(59);
CS_WIDETABLES = TCS_INT(60);
CS_REQ_RESERVED2 = TCS_INT(61);
CS_DATA_UINT2 = TCS_INT(62);
CS_DATA_UINT4 = TCS_INT(63);
CS_DATA_UINT8 = TCS_INT(64);
CS_DATA_UINTN = TCS_INT(65);
CS_CUR_IMPLICIT = TCS_INT(66);
CS_DATA_UCHAR = TCS_INT(67);
{*
** Minimum and maximum request capability values.
*}
CS_MIN_REQ_CAP = CS_REQ_LANG;
CS_MAX_REQ_CAP = CS_DATA_UCHAR;
{*
** Capability response values.
*}
CS_RES_NOMSG = TCS_INT( 1);
CS_RES_NOEED = TCS_INT( 2);
CS_RES_NOPARAM = TCS_INT( 3);
CS_DATA_NOINT1 = TCS_INT( 4);
CS_DATA_NOINT2 = TCS_INT( 5);
CS_DATA_NOINT4 = TCS_INT( 6);
CS_DATA_NOBIT = TCS_INT( 7);
CS_DATA_NOCHAR = TCS_INT( 8);
CS_DATA_NOVCHAR = TCS_INT( 9);
CS_DATA_NOBIN = TCS_INT(10);
CS_DATA_NOVBIN = TCS_INT(11);
CS_DATA_NOMNY8 = TCS_INT(12);
CS_DATA_NOMNY4 = TCS_INT(13);
CS_DATA_NODATE8 = TCS_INT(14);
CS_DATA_NODATE4 = TCS_INT(15);
CS_DATA_NOFLT4 = TCS_INT(16);
CS_DATA_NOFLT8 = TCS_INT(17);
CS_DATA_NONUM = TCS_INT(18);
CS_DATA_NOTEXT = TCS_INT(19);
CS_DATA_NOIMAGE = TCS_INT(20);
CS_DATA_NODEC = TCS_INT(21);
CS_DATA_NOLCHAR = TCS_INT(22);
CS_DATA_NOLBIN = TCS_INT(23);
CS_DATA_NOINTN = TCS_INT(24);
CS_DATA_NODATETIMEN = TCS_INT(25);
CS_DATA_NOMONEYN = TCS_INT(26);
CS_CON_NOOOB = TCS_INT(27);
CS_CON_NOINBAND = TCS_INT(28);
CS_PROTO_NOTEXT = TCS_INT(29);
CS_PROTO_NOBULK = TCS_INT(30);
CS_DATA_NOSENSITIVITY = TCS_INT(31);
CS_DATA_NOBOUNDARY = TCS_INT(32);
CS_RES_NOTDSDEBUG = TCS_INT(33);
CS_RES_NOSTRIPBLANKS = TCS_INT(34);
CS_DATA_NOINT8 = TCS_INT(35);
CS_OBJECT_NOJAVA1 = TCS_INT(36);
CS_OBJECT_NOCHAR = TCS_INT(37);
CS_DATA_NOZEROLEN = TCS_INT(38);
CS_OBJECT_NOBINARY = TCS_INT(39);
CS_RES_RESERVED = TCS_INT(40);
CS_DATA_NOUINT2 = TCS_INT(41);
CS_DATA_NOUINT4 = TCS_INT(42);
CS_DATA_NOUINT8 = TCS_INT(43);
CS_DATA_NOUINTN = TCS_INT(44);
CS_NOWIDETABLES = TCS_INT(45);
CS_DATA_NOUCHAR = TCS_INT(46);
{*
** Minimum and maximum response capability values.
*}
CS_MIN_RES_CAP = CS_RES_NOMSG;
CS_MAX_RES_CAP = CS_DATA_NOUCHAR;
{*
** Minimum and maximum of all capabilities defined above.
*}
CS_MIN_CAPVALUE = CS_REQ_LANG;
CS_MAX_CAPVALUE = CS_DATA_NOUCHAR;
{*
** Size of area to store capabilities. The array len must be greater than
** ((CS_CAP_MAX / CS_BITS_PER_BYTE) + 1). The current value allows
** additional capabilities to be added.
*}
CS_CAP_ARRAYLEN = 16;
{*
** Maximum OID length (bytes)
*}
CS_MAX_OIDLEN = 255;
{*
** Index used by access macros so that the first byte in the array will
** contain the high order bit.
*
#define CS_CAP_IDX(B) ((CS_CAP_ARRAYLEN - (B)/ CS_BITS_PER_BYTE) - 1)
}
type
{*
** Data structure defining storage for capabilities.
*}
_cs_cap_type = record
mask: array[0..CS_CAP_ARRAYLEN-1] of TCS_BYTE;
end;
TCS_CAP_TYPE = _cs_cap_type;
{*
** Access macros for CS_CAP_TYPE structure.
*/
#define CS_SET_CAPMASK(M, B) ((M)->mask[CS_CAP_IDX(B)] |= \
(1 << ((B) % CS_BITS_PER_BYTE)))
#define CS_CLR_CAPMASK(M, B) ((M)->mask[CS_CAP_IDX(B)] &= \
~(1 << ((B) % CS_BITS_PER_BYTE)))
#define CS_TST_CAPMASK(M, B) ((M)->mask[CS_CAP_IDX(B)] & \
(1 << ((B) % CS_BITS_PER_BYTE)))
}
{*******************************************************************************
** Defines used in Open Client/Server structures.
*******************************************************************************}
const
{*
** Define I/O types in the CS_IODESC structure.
*}
CS_IODATA = TCS_INT(1600);
{*
** Define status values for the status field of the CS_SERVERMSG and
** CS_CLIENTMSG structures.
*}
CS_HASEED = TCS_INT($01);
CS_FIRST_CHUNK = TCS_INT($02);
CS_LAST_CHUNK = TCS_INT($04);
{*******************************************************************************
** Hidden information structures.
*******************************************************************************}
type
{*
** If passing code through lint, define the hidden structures as void.
*}
TCS_LOGINFO = TCS_VOID;
TCS_BLKDESC = TCS_VOID;
TCS_BLK_ROW = TCS_VOID;
PCS_LOGINFO = TCS_VOID;
{*******************************************************************************
** User-accessible information structures.
*******************************************************************************}
{*
** Define the I/O descriptor structure used by Open Client/Server.
**
** iotype Indicates the type of I/O to perform. For text
** and image operations, iotype always has the
** value CS_IODATA.
**
** datatype The datatype of the data object. The only legal
** values for datatype are CS_TEXT_TYPE and
** CS_IMAGE_TYPE.
**
** *locale A pointer to a CS_LOCALE structure containing
** localization information for the text or image
** value. Set locale to NULL if localization
** information is not required.
**
** usertype The SQL Server user-defined datatype of the data
** object, if any.
**
** total_txtlen The total length, in bytes, of the text or image
** value.
**
** offset Reserved for future use.
**
** log_on_update Whether the update for this text object should
** be logged or not.
**
** name The name of the text or image column. name is a
** string of the form table.column.
**
** namelen The actual length of name
**
** timestamp The text timestamp of the column. A text
** timestamp marks the time of a text or image
** column's last modification.
**
** timestamplen The length, in bytes, of timestamp.
**
** textptr The text pointer for the column. A text pointer
** is an internal server pointer that points to the
** data for a text or image column. textptr identifies
** the target column in a send-data operation.
**
** textptrlen The length, in bytes, of textptr.
*}
{$IFNDEF SD_CLR}
_cs_iodesc = record
iotype: TCS_INT;
datatype: TCS_INT;
locale: PCS_LOCALE;
usertype: TCS_INT;
total_txtlen: TCS_INT;
offset: TCS_INT;
log_on_update: TCS_BOOL;
name: array[0..CS_OBJ_NAME-1] of TCS_CHAR;
namelen: TCS_INT;
timestamp: array[0..CS_TS_SIZE-1] of TCS_BYTE;
timestamplen: TCS_INT;
textptr: array[0..CS_TP_SIZE-1] of TCS_BYTE;
textptrlen: TCS_INT;
end;
TCS_IODESC = _cs_iodesc;
{$ENDIF}
{*
** Define the browse descriptor structure used by Open Client/Server.
**
** status A bit mask of either CS_EXPRESSION and/or CS_RENAMED.
**
** isbrowse CS_TRUE the column can be browse-mode updated.
**
** origname The original name of the column in the database.
**
** orignlen Length of origname in bytes.
**
** tablenum The number of the table to which the column
** belongs. The first table in a select statement's
** from-list is table number 1, the second number 2,
** and so forth.
**
** tablename The name of the table to which the column belongs.
**
** tabnlen Length of tablename in bytes.
**
*}
_cs_browsedesc = record
status: TCS_INT;
isbrowse: TCS_BOOL;
origname: array[0..CS_MAX_NAME-1] of TCS_CHAR;
orignlen: TCS_INT;
tablenum: TCS_INT;
tablename: array[0..CS_OBJ_NAME-1] of TCS_CHAR;
tabnlen: TCS_INT;
end;
TCS_BROWSEDESC = _cs_browsedesc;
{*
** Define the server message structure used by Open Client/Server.
**
** msgnumber The server message number.
**
** state The server error state.
**
** severity The severity of the message.
**
** text The text of the error string. If an application
** is not sequencing messages, text is guaranteed
** to be null-terminated, even if it has been
** truncated. If an application is sequencing
** messages, text is null-terminated only if it is
** the last chunk of a sequenced message.
**
** textlen The length, in bytes, of text.
**
** svrname The name of the server that generated the message.
**
** svrnlen The length, in bytes, of svrname.
**
** proc The name of the stored procedure which caused
** the message, if any.
**
** proclen The length, in bytes, of proc.
**
** line The line number, if any, of the line that caused
** the message. line can be a line number in a
** stored procedure or a line number in a command
** batch.
**
** status A bitmask used to indicate various types of
** information, such as whether or not extended
** error data is included with the message.
**
** sqlstate SQL state information.
**
** sqlstatelen The length, in bytes, of sqlstate.
**
*}
{$IFNDEF SD_CLR}
_cs_servermsg = record
msgnumber: TCS_MSGNUM;
state: TCS_INT;
severity: TCS_INT;
text: array[0..CS_MAX_MSG-1] of TCS_CHAR;
textlen: TCS_INT;
svrname: array[0..CS_MAX_NAME-1] of TCS_CHAR;
svrnlen: TCS_INT;
proc: array[0..CS_MAX_NAME-1] of TCS_CHAR;
proclen: TCS_INT;
line: TCS_INT;
status: TCS_INT;
sqlstate: array[0..CS_SQLSTATE_SIZE-1] of TCS_BYTE;
sqlstatelen:TCS_INT;
end;
TCS_SERVERMSG = _cs_servermsg;
{*
** Define the client message structure used by Open Client/Server.
**
** severity A symbolic value representing the severity of
** the message.
**
** msgnumber The message number. For information on how to
** interpret this number in Client-Library
** applications, see the Client-Library Messages
** topics in the Open Client documentation.
**
** msgstring The message string. If an application is not
** sequencing messages, msgstring is guaranteed to
** be null-terminated, even if it has been truncated.
** If an application is sequencing messages,
** msgstring is null-terminated only if it is the
** last chunk of a sequenced message.
**
** msgstringlen The length, in bytes, of msgstring.
**
** osnumber An error may have involved interactions the
** operating system (OS). If so, the OS error
** number would be stored here. Otherwise,
** this will be zero.
**
** osstring The operating system error text (if any).
**
** osstringlen The length, in bytes, of osstring.
**
** st
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -