当前位置:首页>Excel>Excel VBA 编程 -- 访问数据库

Excel VBA 编程 -- 访问数据库

  • 2026-04-06 17:47:35
Excel VBA 编程 -- 访问数据库
上文我们提到,OLE DB 是微软继 ODBC 之后又一项数据访问技术。OLE DB 基于 Windows 的 COM 组件技术,为了适配于各种语言,OLE DB 提供了双接口:
  • 虚函数表(vtable):用于 C/C++ 等的高速访问
  • 自动化接口(IDispatch):用于 VBA/VBScript 等脚本类语言的访问
虽然如此,但直接访问 OLE DB 还是比较麻烦的。为了简化对 OLE DB 的访问,微软又推出了 ActiveX Data Objects,简称 ADO。ADO 以对象模型呈现编程接口,向用户隐藏了 OLE DB 的技术细节。ADO 推出后,取得了巨大成功,以至于后续的 .NET 平台的数据库访问技术仍然沿用了 ADO 这一名称,后缀以 .NET 以示区分。
ADO 首先在 VB/VBA/VBScript 上取得了成功。现在虽然 VB 以及 VBScript 不再是人们的首选语言,但 Office 内嵌的 VBA 仍然是从事 Office 编程的人们每天都要使用的语言工具。
今天我们就来讨论如何使用 VBA 访问数据库。
首先,创建一个数据库表,名为 MathScores:
我们用这张表记录学生的数学成绩,样本数据如下:
其中,里斯本由于某种原因没有参加考试,因此没有成绩。
现在,数据库端已经准备好,下面来看如何将这份成绩单读到 Excel 工作表中。
要想在 Excel/VBA 中访问数据库,首先必须引入 ADO。打开 Visual Basic for Applications 编辑器,点击“工具 (T)”菜单,选择“引用 (R)......”,打开“引用”窗体,如图所示:
在“可使用的引用 (A)”列表框中,选中 Microsoft ActiveX Data Objects 6.1 Library,点击“确定”关闭窗体。
至此,第一步引入 ADO 就完成了。下面开始写代码。
写代码的第一步是插入模块,我们的代码都是写在模块里的。
点击“插入 (I)”菜单,选择“模块 (M)”,即可插入模块。
双击左侧“工程”列表框里的模块名称(通常为 Module1),在右侧编辑框中就可以写代码了。本例中,我们把从数据库读取数据的过程命名为 ReadDataFromDb,如图所示:
程序一开始,首先是声明一些变量。在 VBA 中,将变量声明为具体的类型,如本例中的 Connection,String,Integer 等,一是有助于 VBA 的编译器进行类型错误检查,代码中变量的使用如果与其声明类型不符,编译器就会报错。第二是提高代码的执行效率。
如果像这样声明变量:
Dim MyVar
则 MyVar 变量将作为变体类型对待(关于变体类型,请参阅文末的相关阅读)。变体类型一方面类型错误不容易发现,另外其执行效率也是所有数据类型中最低的。
回到我们的例子。接下来是构造连接字符串:
  • Provider=MSOLEDBSQL19:表示 ADO 连接数据库使用 Microsoft OLE DB Driver 19 for SQL Server 这个最新版本的 OLE DB 提供者。
    • 可以将 ADO 看成 OLE DB Driver 外面包裹的一层外衣,ADO 将 OLE DB Driver 的功能以 Connection、Command、Recordset 等对象的形式呈现给应用程序员,ADO 内部会将应用程序员对这些对象的操作转换为对 OLE DB Driver 具体接口的调用。所以,构造 ADO 的连接字符串时需要指明 ADO 内部要使用哪个 OLE DB Driver。这就是 Provider 关键字的作用。
  • Integrated Security=SSPI:将 Integrated Security 设置为 SSPI 表示访问数据库时使用 Windows 认证。
  • Trust Server Certificate=true:表示客户端信任 SQL 服务器的证书。
  • Data Source=lpc:(local):表示使用本机数据库,lpc: 表示使用客户端与 SQL Server 的通信共享内存协议。对于本机数据库来说,使用共享内存要比使用 TCP/IP 协议效率高得多。
  • Initial Catalog=test:表示访问 test 数据库。
连接字符串构造好后,接下来是创建两个对象。一个是 Connection 对象,这是访问数据库时使用的第一个对象,表示与数据库的一个连接。只有与数据库建立连接以后,才能使用后续的对象访问数据库的数据。创建 Connection 对象之后,调用该对象的 Open 方法,将前面构造的连接字符串作为参数,尝试打开与数据库的连接。
一般来说,访问数据库时,与数据库建立连接是最容易出错的步骤,原因多种多样,有网络问题(如果不是本机数据库),有连接字符串的问题(譬如数据库名称、用户名、密码等错误),也有数据库服务器设置的问题,等等,不一而足。
如果成功建立与数据库的连接,则接着创建 Recordset 对象,这是获取数据的主要对象。Recordset 对象需要两个参数:一个与数据库的连接,Recordset 借此与数据库打交道,一个是 SQL 语句,Recordset 借此获取数据。有了这两个参数,就可以调用 Open 方法来获取数据。
如果说建立与数据库的连接是最容易出错的步骤,那么调用 rs.Open 则是第二容易出错的步骤。这一步的错误主要是 SQL 语句的错误,譬如 SQL 语句的语法错误,字段名错误,表名错误,等等。
rs.Open 成功之后,数据已经在记录集 rs 中了,接下来是将这些数据写到 Excel 中,这就是下面这段代码的工作:
数据存在于记录集 rs 中,我们需要遍历这个记录集,从而把记录集中的数据都读取出来。遍历记录集的方法是使用如下的 While 循环:
WhileNot rs.EOF// 读取数据  rs.MoveNext// 下一条记录Wend
rs.EOF 的意思是已经读到记录集的末尾了。所以 While 循环的意思:如果还没有读到记录集的末尾,就通过 rs.MoveNext 一条记录一条记录地读,直到记录集的末尾,结束循环。
在读取记录的过程中,我们用 total 来记录总的记录数,用 n 来记录有效的记录数(所谓有效记录,是指有成绩的记录),用 sum 来记录成绩的总和。我们用下面的方法判断是否有效记录:
If Not IsNull(rs("Score")) Then// ...End If
IsNull(rs("Score")) 判断 rs("Score") 字段是否为空。我们上面已经说过,如果由于某种原因没有参加考试,则考试成绩为空。如果成绩为空,则视为无效记录,反之,则为有效记录。
While 循环结束之后,所有姓名/成绩都已经写到 Excel 中,并且记录下了总的记录数、有效记录数、总成绩,此时,记录集 rs 和连接 cn 都不再需要,所以要关闭它们。
接下来将这些统计信息写入 Excel:
最后,Excel 中的结果如下:
以上是从数据库中读取数据,下面讨论向数据库写入数据。
将上面 Excel 工作表中的学生成绩数据写入 test 数据库。为了与原来的数据库表 MathScores 相区别,我们另外创建一个与 MathScores 相同结构的表,名为 MathScoresX。
我们要写入的数据取自 Excel 工作表中的第 2 到第 8 行,就是 A2:B8 这个区域的内容。写入数据的方法是:根据工作表的数据构造 SQL 语句,然后在 ADO 中执行此 SQL 语句。我们要构造的 SQL 语句格式如下:
INSERT INTO MathScoresX(Name, Score) VALUES (...), (...), ...
需要构造的就是括号部分。代码如下:
需要注意的是,在构造 SQL 语句的过程中,需要判断当前单元格是否为空,为空意味着对应的数据库表的字段也为空,这个为空的情况需要特殊处理,如上面代码的注释所示。
SQL 语句构造好之后,调用 ExecuteSQL 过程执行,即可完成向数据库写入数据的工作。
ExecuteSQL 过程的代码如下:
与从数据库中读取数据不同,写入数据需要创建 Command 对象,这个对象负责执行 SQL 语句,它需要三个参数:打开的连接,SQL 语句,当前要执行的 SQL 种类,adCmdText 表示当前要执行的是一段 SQL 语句。
执行完后,关闭与数据库的连接。
Excel 读取/写入数据库有很多种方法,这里讨论的只是其中之一。
Excel 是处理数据的有力工具,数据库是管理大规模数据的有力工具。Excel 的数据处理能力 + 数据库的数据管理能力 + VBA 的编程能力 = 强有力的生产力工具。
相关阅读
ODBC (5) -- 走向 OLE DB
Delphi 编程 -- 谈谈变体类型
Delphi 编程 -- 再谈变体类型(操作 Excel)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-09 08:08:18 HTTP/2.0 GET : https://h.sjds.net/a/471587.html
  2. 运行时间 : 0.319495s [ 吞吐率:3.13req/s ] 内存消耗:4,407.86kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ace2aa8a8e6eeb7227d6b00aea1e3969
  1. /yingpanguazai/ssd/ssd1/www/h.sjds.net/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/h.sjds.net/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/h.sjds.net/runtime/temp/ad153693ed39fba6d1bda2fe72512cde.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001014s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001634s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000771s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.006289s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001397s ]
  6. SELECT * FROM `set` [ RunTime:0.005586s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001510s ]
  8. SELECT * FROM `article` WHERE `id` = 471587 LIMIT 1 [ RunTime:0.011710s ]
  9. UPDATE `article` SET `lasttime` = 1775693298 WHERE `id` = 471587 [ RunTime:0.003301s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.001539s ]
  11. SELECT * FROM `article` WHERE `id` < 471587 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001154s ]
  12. SELECT * FROM `article` WHERE `id` > 471587 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.017804s ]
  13. SELECT * FROM `article` WHERE `id` < 471587 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.035287s ]
  14. SELECT * FROM `article` WHERE `id` < 471587 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.041293s ]
  15. SELECT * FROM `article` WHERE `id` < 471587 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.025181s ]
0.323569s