26
2019.2

连接数据库

作者: POPASP
POPASP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。必须配置数据库连接信息,数据库的配置文件有多种定义方式。 常用的配置方式是在项目配置文件中添加下面的参数: ### access 数据库连接配置 ```brush:vb ''数据库类型,目前支持access、sqlite3、excel、txt、mysql、sql server POP_MVC.config("DB_TYPE") = "access" ''access、sqlite3、excel数据库文件的路径,如果有操作服务器的条件,最好将它放到网站根目录的上级目录 POP_MVC.config("DB_PATH") = "/popasp.mdb" ''ACCESS的类型,仅当数据库为access时才起作用,目前支持2003(mdb)、2007(accdb),系统默认采用mdb数据库 POP_MVC.config("ACCESS_TYPE") = "2003" ``` 数据库的路径可以写相对路径,也可以写绝对路径。 ### sqlite3 数据库连接配置 ```brush:vb POP_MVC.config("DB_TYPE") = "sqlite3" POP_MVC.config("DB_PATH") = "/popasp.db" ``` ### excel 数据库连接配置 ```brush:vb POP_MVC.config("DB_TYPE") = "excel" POP_MVC.config("DB_PATH") = "/popasp.excel" ``` ### txt 文本数据库配置 ```brush:vb POP_MVC.config("DB_TYPE") = "txt" POP_MVC.config("DB_PATH") = "/data/" ``` 文本型数据库是文件夹当成数据库,将其中的txt文件当成数据表。txt数据库不支持update与delete操作。 ### sqlserver 数据库连接配置 ```brush:vb '这里要注意sql与server之间没有空格 POP_MVC.config("DB_TYPE") = "sqlserver" '数据库host POP_MVC.config("DB_HOST") = "(local)" '数据库名,根据实际修改 POP_MVC.config("DB_NAME") = "iAspCms" '用户名,根据实际修改 POP_MVC.config("DB_USER") = "sa" ''数据库密码,根据实际修改 POP_MVC.config("DB_PWD") = "123456" ``` ### mysql 数据库连接配置 ```brush:vb '这里要注意sql与server之间没有空格 POP_MVC.config("DB_TYPE") = "mysql" '数据库host POP_MVC.config("DB_HOST") = "localhost" '数据库名,根据实际修改 POP_MVC.config("DB_NAME") = "iAspCms" '用户名,根据实际修改 POP_MVC.config("DB_USER") = "root" ''数据库密码,根据实际修改 POP_MVC.config("DB_PWD") = "123456" ``` 从2.4版本开始支持多种多个数据库同时操作,这时要给`B_`或`M_`函数传入数组。 ```brush:vb B_( Array( "数据模型名/数据表名" , "access" , "数据库路径" ) ).select B_( Array( "数据模型名/数据表名" , "excel" , "数据库路径" ).select B_( Array( "数据模型名/数据表名" , "txt" , "数据库路径" ).select B_( Array( "数据模型名/数据表名" , "sqlite3" , "数据库路径" ).select B_( Array( "数据模型名/数据表名" , "mysql" , "数据库名" , "主机" , "用户名" , "密码" ).select B_( Array( "数据模型名/数据表名" , "sqlserver" , "数据库名" , "主机" , "用户名" , "密码" ).select ``` 上面的数据传参,除了第一个不能省略外,其他若是省略,则采用配置中的默认值。