⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makedbc.prg

📁 MSComm控件资料,Visual Basic 6.0(以下简称VB) 是一种功能强大、简单易学的程序设计语言。它不但保留了原先Basic语言的全部功能
💻 PRG
字号:
LPARAMETERS tcProject, tcCommonPath, tlIntegerKeys
LOCAL lcDBC, lcSafety, lcViewDBC

* Make the Data directory.
MD DATA
CD DATA

lcDBC = tcProject + ".DBC"
*** EGL: 2001.12.27 16:12:55 -  Create a separate DBC for views
lcViewDBC = tcProject + "Views.DBC"

* If there are spaces in the DBC name (Yeesh!), add the quotes.
IF " " $ lcDBC
	lcDBC = ["] + lcDBC + ["]
ENDIF
IF " " $ lcViewDBC
	lcViewDBC = ["] + lcViewDBC + ["]
ENDIF


DisplayStatus([Creating databases...])
CLOSE DATABASES ALL
CREATE DATABASE &lcViewDBC
CLOSE DATABASES ALL
CREATE DATABASE &lcDBC

DisplayStatus([Creating table NextPK...])
MakeTable_NextPK(tlIntegerKeys)
DisplayStatus([Creating table DUMMY...])
MakeTable_DUMMY()
DisplayStatus([Creating table DEVNOTES...])
MakeTable_DEVNOTES()
DisplayStatus([Finished.])

CLOSE DATABASE
USE (lcDBC)
lcSafety = SET("SAFETY")
SET SAFETY OFF

LOCATE FOR Objectname = "StoredProceduresSource"
IF FOUND()
	APPEND MEMO Code FROM TemplateCode.KRT OVERWRITE
	REPLACE Code WITH STRTRAN(Code, "<common_path>", ;
		LEFT(UPPER(tcCommonPath), LEN(tcCommonPath)-1))
	REPLACE Code WITH STRTRAN(Code, "<pjxname>", UPPER(tcProject))
ENDIF

LOCATE FOR Objectname = "StoredProceduresObject"
IF FOUND()
	APPEND MEMO Code FROM TemplateComp.KRT OVERWRITE
ENDIF
IF lcSafety == "ON"
	SET SAFETY ON
ENDIF
USE
COMPILE DATABASE (lcDBC)
OPEN DATABASE (lcDBC)

* Return back to the project directory
CDToParentDirectory()

RETURN


FUNCTION MakeTable_NextPK
	LPARAMETERS tlIntegerKeys
	***** Table setup for NextPK *****

		CREATE TABLE "NextPK.DBF" NAME "NextPK" (CKEYNAME C(20) NOT NULL, ;
			CPREFIX C(10) NOT NULL, ;
			CVALUE C(12) NOT NULL DEFAULT "000000000001", ;
			CINCREMENTPROCEDURE C(64) NOT NULL DEFAULT "", ;
			IMAXLENGTH I NOT NULL  CHECK iMaxLength<=LEN(cValue) ERROR "Max length must be less than or equal to the size of the 'cValue' field." DEFAULT LEN(cValue), ;
			CTYPE C(1) NOT NULL DEFAULT "I", ;
			CDESCRIPTION C(40) NOT NULL)

	IF tlIntegerKeys
		ALTER TABLE NextPK ;
			ALTER COLUMN cType SET DEFAULT "I" 
	ELSE
		ALTER TABLE NextPK ;
			ALTER COLUMN cType SET DEFAULT "C" ;
			ALTER COLUMN cIncrementProcedure SET DEFAULT "IncrementBase62(LEFT(NextPK.cValue, NextPK.iMaxLength))"
	ENDIF

	***** Create each index for NextPK *****
	SET COLLATE TO "MACHINE"
	INDEX ON cKeyName TAG cKeyName
	INDEX ON cPrefix TAG cPrefix

	***** Change properties for NextPK *****
	DBSETPROP("NextPK.cIncrementProcedure ", "Field", "Comment", "Specifies stored procedure used to increment the value.")
	DBSETPROP("NextPK.iMaxLength", "Field", "Comment", "The maximimun length of the value (not used for Integer keys).")
	DBSETPROP("NextPK", "Table", "Comment", "Holds next available values for primary keys and other sequentially-generated numbers")
	
	RETURN
ENDFUNC


FUNCTION MakeTable_DUMMY
	***** Table setup for DUMMY *****
	CREATE TABLE "DUMMY.DBF" NAME "DUMMY" (DUMMY_FIELD C(10) NOT NULL)

	***** Create each index for DUMMY *****

	***** Change properties for DUMMY *****
	DBSETPROP("DUMMY", "Table", "Comment", "A placebo table used to instantiate BizObj in RAD mode")
	
	RETURN
ENDFUNC


FUNCTION MakeTable_DEVNOTES
	***** Table setup for DEVNOTES *****
	CREATE TABLE "DEVNOTES.DBF" NAME "DEVNOTES" (CBIZOBJDES C(50) NOT NULL, ;
		MDEVNOTES M NOT NULL)

	***** Create each index for DEVNOTES *****
	SET COLLATE TO "MACHINE"
	INDEX ON CBIZOBJDES TAG DESCRIPT

	***** Change properties for DEVNOTES *****
	
	RETURN
ENDFUNC


FUNCTION DisplayStatus(lcMessage)
	WAIT WINDOW NOWAIT lcMessage
	
	RETURN
ENDFUNC

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -