26
2019.2
模型定义
作者: POPASP
大多数时候我们不需要自已定义模板类,如果需要需要使用Create方法进行自动完成、自动验证或封装单独的业务逻辑时,就需要自已定义模板类。模型类一般位于项目的 Model 目录下面,当我们创建一个Category模型的时候,其实已经遵循了系统的约定。例如:
模型文件Category.asp
```brush:vb
<%
Class Category
Public Sub init
db.tableName = "category"
db.prikey = "cat_id"
End Sub
end Class
```
从2.3版本之后,模型文件的名称由原来的CategoryModel.class.asp,改为Category.asp,这样的简化,是应popasp爱好者的提议改的。
如果想继续使用2.3之前的风格,则需要配置参数`MODEL_SUFFIX`,
```brush:vb
POP_MVC.config("MODEL_SUFFIX") = "Model.class"
```
此时定义文件名的时候就必须是CategoryModel.class.asp,也可使用
```brush:vb
POP_MVC.config("MODEL_SUFFIX") = "Model"
```
此时定义文件名则须是CategoryModel.asp。
在模型中应显示的定义一个方法init,并在其中指出两个重要参数
```
db.tableName = "category" '数据表名
db.prikey = "cat_id" '索引ID
```
如果数据表没有主键,则db.prikey不需要指定。
db是 `POPASP_DBTYPE` 类的一个实例,在使用 `M_` 函数或者 `POP_MVC.Model()` 方法时,会重写该类,并且会自动创建一个公共变量db。
对于access数据库,表的索引,应该是第一个字段(类型为数字型),这样popasp会自动捕获。对于sqlite3、mysql、sql server数据库,在建表的时间应该设置自动增长的主键,系统会自动获取。对于excel数据库,应该显示的声明哪一个是索引。
再次强调,POPASP在处理数据库操作方面,提供了丰富的方法,一般我们使用`B_`方法就够用了。