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_`方法就够用了。