补全:业务层先校验

补全:业务层先校验

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元

阅读更多 →
补全:数据层插一条

补全:数据层插一条

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元

阅读更多 →
数据层只管数

数据层只管数

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元

阅读更多 →
业务层先校验再落库

业务层先校验再落库

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元

阅读更多 →
业务层调数据层

业务层调数据层

业务层的函数(如「发一条留言」)通常【0】。

阅读更多 →
数据访问层管什么

数据访问层管什么

「数据访问层」这一层,只负责【0】。

阅读更多 →
为什么要分层

为什么要分层

把「碰数据库的代码」和「业务规则的代码」分开放,好处是【0】。

阅读更多 →
补全:查某人有几条

补全:查某人有几条

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元

阅读更多 →
补全:查某人全部

补全:查某人全部

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元

阅读更多 →
补全:删一条

补全:删一条

(每道题开头都有同一段:open_db() 建一个内存 SQLite 库、含 users / notes / files 三张表、交回连接;执行 SQL 用 conn.execute(SQL, 参数元

阅读更多 →