📄 dbinfo.pas
字号:
unit Dbinfo;
interface
uses
ComObj, ActiveX, StdVcl,dialogs,
Forms,Windows, Messages, SysUtils, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Buttons, Registry, ComCtrls, DbTables, CheckLst,
FileCtrl, inifiles;
// User-defined exceptions
type EUnknownValueType = class(Exception);
type ECannotCreateKey = class(Exception);
// Prexim Database Server default values for database data
const DBDEF_USERNAME='system';
const DBDEF_LOCATION='$INPROCESS$';
const DBDEF_GROUPNAME='Default';
const
VAR_INSERT='INSERT';
VAR_DELETE='DELETE';
VAR_UPDATE='UPDATE';
VAR_SELECT='SELECT';
ISSTRING =0;
ISINTEGER =1;
ISBOOL=2;
ISDATE=3;
// ErroR Code
// 0 ~ -10 COMMON ERROR
GE_OK = 0;
ER_GEN = -1; //GENERAL ERROR
ER_UNKNOW = -2; //UNKNOW ERROR
ER_EXCEPT = -3; //EXCEPTION ERROR
ER_NOTCONNECT = -4;//
ER_QUERY_ERROR=-5;//Create QUery error
ER_VAR_NOTEXIST=-6;// value not exist
ER_OLEVAR_EMPTY=-7;// ole variant is empty
//-11 ~ -100 USER SECURITY ERROR
ER_SECU_USER_DISABLED = -11; // USER IS DISABLED
ER_SECU_USER_PENDING = -12; // USER IS PENDING
ER_SECU_USER_CREATED = -13; // USER IS CREATED
ER_SECU_USER_EXPIRE = -14; // User password expired
ER_SECU_USER_NOUSER = -15; // NO username
ER_SECU_USER_BADPASSWORD=-16; // Bad Password
ER_SECU_GROUP_NORECORD= -17;//No group
ER_SECU_USER_EMPTY =-18;// User name is empty
ER_SECU_BUILTIN =-19;//Built-in user or group
//-101 ~ -200 DOCUMENT ERROR
ER_DOC_NOTEXISTS = -101;
ER_DOC_EXCEPTION = -102;
ER_DOC_SAMEVALUE = -103;
ER_DOC_DOCUMENT_NOT_EXIST=-104;
ER_DOC_NOTREAD = -105;
ER_DOC_NOTWIRTE = -106;
ER_DOC_NOTACCESS = -107;
//-201 ~ -300 INTERFACE ERROR
// Table Define
CSI_FILES ='CSI_FILES';
CSI_DOCUMENTS = 'CSI_DOCUMENTS';
CSI_SECU_USER_ROLE ='CSI_SECU_USER_ROLE';
CSI_TEMPLATES='CSI_TEMPLATES';
CSI_ROLES='CSI_ROLES';
CSI_SECU_GRP_PRJ='CSI_SECU_GRP_PRJ';
CSI_SECU_USER_PRJ='CSI_SECU_USER_PRJ';
CSI_PROJECTS='CSI_PROJECTS';
CSI_SECU_USER_GRP='CSI_SECU_USER_GRP';
CSI_AUDIT='CSI_AUDIT';
CSI_DOC_REF='CSI_DOC_REF';
CSI_DOCUMENT_TYPES='CSI_DOCUMENT_TYPES';
CSI_LOGIN_INFO='CSI_LOGIN_INFO';
CSI_LOGS='CSI_LOGS';
CSI_POLICY_SEC='CSI_POLICY_SEC';
CSI_POLICYS='CSI_POLICYS';
CSI_PRJ_TYPES='CSI_PRJ_TYPES';
CSI_ROLE_TYPES='CSI_ROLE_TYPES';
CSI_SECU_GRP='CSI_SECU_GRP';
CSI_SECU_USER='CSI_SECU_USER';
CSI_SECURITY='CSI_SECURITY';
// Cloumns
CSI_FILES_CLOUMNS =5;
CSI_DOCUMENTS_CLOUMNS = 20;
CSI_SECU_USER_ROLE_CLOUMNS =3;
CSI_TEMPLATES_CLOUMNS=20;
CSI_ROLES_CLOUMNS=4;
CSI_SECU_GRP_PRJ_CLOUMNS=4;
CSI_SECU_USER_PRJ_CLOUMNS=4;
CSI_PROJECTS_CLOUMNS=8;
CSI_SECU_USER_GRP_CLOUMNS=4;
CSI_AUDIT_CLOUMNS=7;
CSI_DOC_REF_CLOUMNS=3;
CSI_DOCUMENT_TYPES_CLOUMNS=4;
CSI_LOGIN_INFO_CLOUMNS=3;
CSI_LOGS_CLOUMNS=5;
CSI_POLICY_SEC_CLOUMNS=4;
CSI_POLICYS_CLOUMNS=4;
CSI_PRJ_TYPES_CLOUMNS=4;
CSI_ROLE_TYPES_CLOUMNS=4;
CSI_SECU_GRP_CLOUMNS=7;
CSI_SECU_USER_CLOUMNS=12;
CSI_SECURITY_CLOUMNS=8;
// AS_SECURITY
const TN_AS_SECURITY='CSI_SECURITY';
type
P_AS_SECURITY = ^AS_SECURITY;
AS_SECURITY = record
min_pword_len: integer;
min_pword_num: integer;
min_pword_punc: integer;
max_consecutive: integer;
pword_expiry: integer;
store_old_pwords: integer;
oplock: integer;
end;
const
// CSI_AUDIT
CSI_AUDIT_D_DATETIME ='D_DATETIME';
CSI_AUDIT_C_AUDIT_TYPE ='C_AUDIT_TYPE';
CSI_AUDIT_C_REQUEST_TYPE='C_REQUEST_TYPE';
CSI_AUDIT_C_USER_NAME ='C_USER_NAME';
CSI_AUDIT_C_LOCATION ='C_LOCATION';
CSI_AUDIT_C_SQL ='C_SQL';
CSI_AUDIT_C_PARAM ='C_PARAM';
// CSI_SECU_USER
{ CSI_SECU_USER_C_USER_ID ='C_USER_ID'; // VARCHAR(32)
CSI_SECU_USER_C_USER_NAME ='C_USER_NAME'; // VARCHAR(32)
CSI_SECU_USER_C_USER_DESC ='C_USER_DESC'; // VARCHAR(128)
CSI_SECU_USER_C_USER_PWD ='C_USER_PWD'; // VARCHAR(32)
CSI_SECU_USER_C_USER_EMAIL ='C_USER_EMAIL'; // VARCHAR(64)
CSI_SECU_USER_C_CRT_USER ='C_CRT_USER'; // VARCHAR(32)
CSI_SECU_USER_D_CRT_DATE ='D_CRT_DATE'; // DATETIME
CSI_SECU_USER_D_LAST_LOGIN ='D_LAST_LOGIN'; // DATETIME
CSI_SECU_USER_D_PASSWORD_DATE ='D_PASSWORD_DATE'; // DATETIME
CSI_SECU_USER_D_EXPIRED_DATE ='D_EXPIRED_DATE'; // DATETIME
CSI_SECU_USER_C_RIGTHS ='C_RIGHTS'; // CHAR(1)
CSI_SECU_USER_C_USER_STATUS ='C_USER_STATUS'; // CHAR(1)
//C_USER_STATUS D-DISABLED A-ACTIVE C-CREATED P-PEDING*/
//RIGTHS A-ADMIN M-MANAGE N-NULL B -BOTH*/
}
{/*==============================================================*/
/* Table : CSI_AUDIT */
/*==============================================================*/
create table CSI_AUDIT (
D_DATETIME DATETIME null,
C_AUDIT_TYPE VARCHAR(10) null,/*TABLE NAME*/
C_REQUEST_TYPE VARCHAR(10) null,/*INSERT, DELETE, UPDATE,SELECT*/
C_USER_NAME VARCHAR(32) null,
C_LOCATION VARCHAR(32) null,
C_SQL VARCHAR(255) null,
C_PARAM VARCHAR(128) null
)
/*==============================================================*/
/* Table : CSI_LOGIN_INFO */
/*==============================================================*/
create table CSI_LOGIN_INFO (
C_USER_NAME VARCHAR(32) null,
D_LOGIN_DATETIME DATETIME null,
C_LOCATION VARCHAR(32) null
)
go
/*==============================================================*/
/* Table : CSI_LOGS */
/*==============================================================*/
create table CSI_LOGS (
C_TYPE VARCHAR(5) null,
D_DATETIME DATETIME null,
C_USER VARCHAR(32) null,
C_SOURCE VARCHAR(10) null,
C_DESCRIPTION VARCHAR(255) null
)
go
/*==============================================================*/
/* Table : CSI_POLICYS */
/*==============================================================*/
create table CSI_POLICYS (
C_POLICY_NAME VARCHAR(32) not null,
C_POLICY_DESCRIPTION VARCHAR(64) null,
/*C_MODI_USER VARCHAR(32) null,
D_MODI_DATE DATETIME null,*/
C_CRT_USER VARCHAR(32) not null,
D_CRT_DATE DATETIME not null default (Getdate()),
Primary key (C_POLICY_NAME)
/*POLICY NAME: R-READ,W-WRITE U-UPLOAD P-Publish R- Read is Default*/
)
go
/*==============================================================*/
/* Table : CSI_POLICY_SEC */
/*==============================================================*/
create table CSI_POLICY_SEC (
C_POLICY_NAME VARCHAR(32) not null,
C_RELAT_TYPE CHAR(2) not null,
C_RELAT_ID VARCHAR(32) not null,
C_SOUR_ID VARCHAR(32) NOT NULL,
/*C_RELAT_TYPE, P- Project, UG - User to Group, UR - User to Role,UP - User to Project UU-user to user
C_RELAT_ID IS C_PRJ_ID, C_GRP_ID, C_ROLE_ID, C_USER_ID
C_SOUR_ID IS C_PRJ_ID, C_GRP_ID, C_ROLE_ID, C_USER_ID
*/
PRIMARY KEY (C_POLICY_NAME, C_RELAT_ID,C_SOUR_ID)
)
go
/*==============================================================*/
/* Table : CSI_DOCUMENT_TYPES */
/*==============================================================*/
create table CSI_DOCUMENT_TYPES (
I_DOC_TYPE INT not null,
C_DESCRIPTION VARCHAR(128) not null,
/*C_MODI_USER VARCHAR(32) null ,
D_MODI_DATE DATETIME null ,*/
C_CRT_USER VARCHAR(32) not null,
D_CRT_DATE DATETIME not null default (Getdate()),
primary key (I_DOC_TYPE)
)
go
/*==============================================================*/
/* Table : CSI_SECU_GRP */
/*==============================================================*/
create table CSI_SECU_GRP (
C_GRP_ID VARCHAR(32) not null,
C_GRP_PARENT_ID VARCHAR(32) NOT NULL,
C_GRP_NAME VARCHAR(32) not null,
C_GRP_DESC VARCHAR(128) null,
C_GRP_TYPE CHAR(1) not null,
C_CRT_USER VARCHAR(32) not null,
D_CRT_DATE DATETIME not null default (Getdate()),
primary key (C_GRP_ID)
/*C_GRP_TYPE U- UNKNOWN C- CORPRATION P - PROJECT R -ROLE S - SYSTEM*/
)
go
/*==============================================================*/
/* Table : CSI_DOC_REF */
/*==============================================================*/
create table CSI_DOC_REF (
C_DOC_REF_ID VARCHAR(32) not null ,
C_DOC_OR_ID VARCHAR(32) NULL,
C_DOC_ID VARCHAR(32) NULL,
/*C_DOC_OR_ID OTHER DOCS, C_DOC_ID CURRENT DOC*/
primary key (C_DOC_REF_ID)
)
go
/*==============================================================*/
/* Table : CSI_PRJ_TYPES */
/*==============================================================*/
create table CSI_PRJ_TYPES (
I_PRJ_TYPE INT not null,
C_DESCRIPTION VARCHAR(128) not null,
/*C_MODI_USER VARCHAR(32) null,
D_MODI_DATE DATETIME null,*/
C_CRT_USER VARCHAR(32) not null,
D_CRT_DATE DATETIME not null default (Getdate()),
primary key (I_PRJ_TYPE)
)
go
/*==============================================================*/
/* Table : CSI_PROJECTS */
/*==============================================================*/
create table CSI_PROJECTS (
C_PRJ_ID VARCHAR(32) not null,
C_GRP_ID VARCHAR(32) not null,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -