📄 表操作.mb
字号:
'1、新建表Create Table
'2、向表中添加数据Insert
'3、读取表中的数据FetcH
'4、修改表结构Alter Table
'5、修改表的结构Add Column
'6、建立字段索引Creat Index
'7、修改表的结构Creat Map
'8、修改表的结构DropMap
'9、编辑行Update
'10、删除行Delete
'11、删除一个表Drop Table
'12、整理表(删除空记录行)Pack Table
'13、保存表的最新编辑Commit Table
'14、控制表设置Set Table
'15、放弃表的最新编辑Rollback
'16、重命名一个表Rename Table
'17、表的查询Fetch
'18、定位行光标EOT()
'19、迭择数据Select
'20、操作选择命令SelectionInfo()
'21、按地址查找图对象Find
'22、按地址查找图对象FindUsing
'23、按地址查找图对象CommandInfo()
'24、按位置查找图对象SearchPoint()
'25、按位置查找图对象SearchRect()
'26、按位置查找图对象SearchInfo()
'27、获取表的信息NumTables()
'28、获取表的信息TableInfo()
'29、获取列的信息NumCols()
'30、获取列的信息ColumnINfo()
'31、查询一个表的元数据GetMetadata$()
'32、查询一个表的元数据Metadata
'33、查询无缝表TableInfo()
'34、查询无缝表GetSeamlessSheet()
'35、表/文件的输入Import
'36、表/文件的输出Export
SUB BCZ
W$="表操作" CALL BZLBXZ
IF R=0 THEN EXIT SUB END IF
IF R=0 THEN EXIT SUB END IF
IF R=1 THEN GOTO BC01 END IF
IF R=2 THEN GOTO BC02 END IF
IF R=3 THEN GOTO BC03 END IF
IF R=4 THEN GOTO BC04 END IF
IF R=5 THEN GOTO BC05 END IF
IF R=6 THEN GOTO BC06 END IF
IF R=7 THEN GOTO BC07 END IF
IF R=8 THEN GOTO BC08 END IF
IF R=9 THEN GOTO BC09 END IF
IF R=10 THEN GOTO BC10 END IF
IF R=11 THEN GOTO BC11 END IF
IF R=12 THEN GOTO BC12 END IF
IF R=13 THEN GOTO BC13 END IF
IF R=14 THEN GOTO BC14 END IF
IF R=15 THEN GOTO BC15 END IF
IF R=16 THEN GOTO BC16 END IF
IF R=17 THEN GOTO BC17 END IF
IF R=18 THEN GOTO BC18 END IF
IF R=19 THEN GOTO BC19 END IF
IF R=20 THEN GOTO BC20 END IF
IF R=21 THEN GOTO BC21 END IF
IF R=22 THEN GOTO BC22 END IF
' IF R=23 THEN GOTO BC23 END IF
BC01:'新建表Create Table
CALL XJB
Create Table Cust
(name char(20),
Address char(30),
City char(30),
Amount DecimaL (5,2),
rderDate Date,
CustID Integer)
File"C:\MapBasic\cust.tab"
Create Map For Cust
Create Index on Cust (CustID)
Create Index On Cust (name)
Browse * From Cust
EXIT SUB
BC02:'向表中添加数据INSERT
Open Table "当前雨情分析_逐月对照"
Browse * From 当前雨情分析_逐月对照
NOTE "现在已经打开一个空表,是否开始向表中添加数据"
FOR I=1 TO 45
INSERT INTO 当前雨情分析_逐月对照 '增加一行数据
VALUES (STR$(I),45.1,76,34.4,0.1245,2.519,56,11.1,0.67,45,"丰水年")
NEXT
Browse * From 当前雨情分析_逐月对照
EXIT SUB
BC03:'读取表中的数据
CALL XJB
Open Table "当前雨情分析_逐月对照" Interactive
FOR I=1 TO 45
INSERT INTO 当前雨情分析_逐月对照
VALUES (STR$(I),45.1,76,34.4,0.1245,2.519,56,11.1,0.67,45,"丰水年")
NEXT
Browse * From 当前雨情分析_逐月对照
FetcH First From 当前雨情分析_逐月对照
W$=当前雨情分析_逐月对照.CoL1
NOTE "现在使用First子句读取的数据是第一行的第一列R="+W$
FetcH Last From 当前雨情分析_逐月对照
W$=当前雨情分析_逐月对照.CoL1
NOTE "现在使用Last子句读取的数据是最后一行的第一列R="+W$
Browse * From 当前雨情分析_逐月对照
FetcH First From 当前雨情分析_逐月对照
W$=当前雨情分析_逐月对照.CoL1
NOTE "现在使用First子句读取的数据是第一行第一列R="+W$
FetcH Next From 当前雨情分析_逐月对照
W$=当前雨情分析_逐月对照.CoL1
NOTE "现在使用Next子句读取的数据是第一行的下一行的第一列R="+W$
FetcH Prev From 当前雨情分析_逐月对照
W$=当前雨情分析_逐月对照.CoL1
NOTE "现在使用Prev子句读取的数据是第一行的第一列R="+W$
FOR I=1 TO 10
FetcH Rec I From 当前雨情分析_逐月对照
W$=当前雨情分析_逐月对照.CoL1
NOTE "现在使用Rec n子句读取的数据是第"+I+"行第一列R="+W$
NEXT
EXIT SUB
BC04:'修改表结构Alter Table
CALL XJB
NOTE"请您观察没有修改的表格,现在开始修改本表格"
Alter Table 当前雨情分析_逐月对照
(Rename 多年平均 徐州平均 '改名
Rename 多年最大 徐州最大
Rename 多年最小 徐州最小
Modify 月份 char(6)
Drop 频率
Add 今年最大 char(8),
明年预测 DECIMAL(6,1)
Order 月份,徐州平均,徐州最大,徐州最小,今年最大,明年预测,
离差系数Cv,离势系数Cs,本年降水,距平值,重现期,丰枯评价)
Interactive
NOTE"现在已经对此表进行了重排序,请您展开表格观察"
EXIT SUB
BC05:'修改表的结构Add Column
Open Table "当前雨情分析_逐月对照"
Add Column 当前雨情分析_逐月对照(多年平均)
Values 31,17,22,24,47,41,66,35,32,88
Browse * From 当前雨情分析_逐月对照
BC06:'建立字段索引Creat Index
Open Table "当前雨情分析_逐月对照" Interactive
NOTE"现在开始对此表的_徐州最小_进行索引"
Create Index on 当前雨情分析_逐月对照(徐州最小)
NOTE"徐州最小_索引进行完毕"
EXIT SUB
BC07:'修改表的结构Creat Map
EXIT SUB
BC08:'修改表的结构DropMap
EXIT SUB
BC09:'编辑行Update
CALL XJB
FOR I=1 TO 45
INSERT INTO 当前雨情分析_逐月对照 '增加一行数据
VALUES (STR$(I),45.1,76,34.4,0.1245,2.519,56,11.1,0.67,45,"丰水年")
NEXT
Browse * From 当前雨情分析_逐月对照
NOTE "现在开始对本表的多年平均列进行编辑"
Select * From 当前雨情分析_逐月对照
'Where W$="marketing" And 多年平均 > 120
Update 当前雨情分析_逐月对照
Set 多年平均 = 多年平均 * 3.07
Browse * From 当前雨情分析_逐月对照
'Update employees
'Set salary = salary * 1.07
'Where Rowid = 10
'Update sites
'Set Obj = CreatePoint(x, y)
'Where Rowid = 1
EXIT SUB
BC10:'删除行Delete
CALL XJB
Open Table "当前雨情分析_逐月对照"
FOR I=1 TO 45
INSERT INTO 当前雨情分析_逐月对照 '增加一行数据
VALUES (STR$(I),45.1,76,34.4,0.1245,2.519,56,11.1,0.67,45,"丰水年")
NEXT
Browse * From 当前雨情分析_逐月对照
NOTE "现在要删除当前表的所有行"
Delete From 当前雨情分析_逐月对照
Commit Table 当前雨情分析_逐月对照
EXIT SUB
BC11:'删除一个表Drop Table
CALL XJB
Open Table "当前雨情分析_逐月对照"
Browse * From 当前雨情分析_逐月对照
NOTE "现在将要删除当前表,请注意观察"
Drop Table 当前雨情分析_逐月对照
NOTE "您可以打开当前目录查看"
EXIT SUB
BC12:'整理表(删除空记录行)Pack Table
fi=ASK("请您先运行2'向表中添加数据INSERT,动手删除几个记录,是否完成了?","完成了","没有完成关")
Open Table "当前雨情分析_逐月对照"
Pack Table 当前雨情分析_逐月对照
Graphic Data
' Graphic | Data | Graphic Data } [ Interactive ]
BC13:'保存表的最新编辑Commit Table
bc14:'控制表设置Set Table
Open Table "当前雨情分析_逐月对照"
Set Table 当前雨情分析_逐月对照
FastEdit On
Undo On
ReadOnly
' Seamless On Preserve
' UserMap On
' UserBrowse On
' UserClose On
' UserEdit On
' UserRemoveMap On
' UserDisplayMap On
EXIT SUB
'Import "WORLD.MIF"
' Type "MIF"
' Into "world_2.tab"
' Map From world_2
' Open Table "facility"
' Export facility
' Into "FACIL.DXF"
' Type "DXF"
' Overwrite
' Preserve AttributeData
' Preserve MultiPolygonRgns As Blocks
' ASCII DecimalPlaces 3
' Transform (0, 0) (1, 1) (0, 0) (1, 1)
BC15:'放弃表的最新编辑Rollback
BC16:
BC17:'定位行光标Fetch,EOT()
BC18:'迭择数据,操作选择命令Select,SelectionInfo()
BC19:'按地址查找图对象Find,FindUsing,CommandInfo()
BC20:'按位置查找图对象SearchPoint(),SearchRect(),SearchInfo()
BC21:'获取表的信息NumTables(),TableInfo()
BC22:'获取列的信息NumCols(),ColumnINfo()
BC23:'查询一个表的元数据GetMetadata$(),Metadata
'BC18:'查询无缝表TableInfo(),GetSeamlessSheet()
'BC19:'表/文件的输入Import,Export
'BC20:
'BC21:
'BC22:
'BC23:
END SUB
SUB XJB '新建表Create Table
CREATE TABLE 当前雨情分析_逐月对照 '建立当前雨情_逐月对照表格
(月份 char(4),
多年平均 DECIMAL(6,1), '表格个字段
多年最大 DECIMAL(6,0),
多年最小 DECIMAL(6,1),
离差系数Cv DECIMAL(2,6),
离势系数Cs DECIMAL(2,6),
本年降水 DECIMAL(6,2),
距平值 DECIMAL(6,1),
频率 DECIMAL(2,6),
重现期 DECIMAL(6,1),
丰枯评价 char(6))
FILE"当前雨情分析_逐月对照.TAB" '指定存入目录
Browse * From 当前雨情分析_逐月对照
END SUB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -